LINUX.ORG.RU

Паттерны.

 


3

3

Народ, откуда столько НЕНАВИСТИ к паттернам в программировании?

Пробежался тут по последним темам.

For example, in the OO world you hear a good deal about «patterns». I wonder if these patterns are not sometimes evidence of case (c), the human compiler, at work. When I see patterns in my programs, I consider it a sign of trouble. The shape of a program should reflect only the problem it needs to solve. Any other regularity in the code is a sign, to me at least, that I'm using abstractions that aren't powerful enough — often that I'm generating by hand the expansions of some macro that I need to write. — P. Graham

'Patterns mean «I have run out of language.»' — Rich Hickey

Ну и там хор подпевал, как обычно, и всё в таком духе. Вообще, сколько себя помню, на ЛОРе термин «паттерны проектирования» всегда был синонимом какого-то вселенского зла.

Но ведь если разобраться, то «паттерны» так или иначе присутствуют просто ВЕЗДЕ. В градостроительстве, архитектуре, механике, инженерии, электронике, транспорте, аэрокосмосе, музыке, спорте, кулинарии, литературе, поэзии, живописи, медицине, физике, математике, геологии, географии, добыче ископаемых, сельском хозяйстве, военном деле, государственном управлении, экономике, финансах, социологии, в людских взаимоотношениях, наконец! Человечество повсеместно использует стандартные подходы/сценарии/решения, проверенные годами. И к ним мы относимся совершенно нормально. Почему мы, например, услышав секвенцию II-V-I в «Лунной сонате», не говорим Бетховену: «Чувак, you've run out of harmony!» Почему, увидев четырёхстопный ямб у Пушкина, не предъявляем: «Чувак, да у тебя же a sign of trouble в стихах!»

Почему только будучи применёнными к программированию паттерны вызывают столь лютую ненависть?


в людских взаимоотношениях, наконец

Очччень хорошее сравнение! Ты попал в точку! Ибо бездумное следование «поведенческим клише» с последующей невинно-удивлённой гримассой «А что такое? Так же все делают?» приводит в священное бешенство больше, чем все ужимки местных «ентерпрайз-дрочеров» вместе взятые. Хотя я и понимаю, что я не прав, и не надо злиться, а надо просто использовать в своих интересах хомячью запрограммированность

yyk ★★★★★
()
Последнее исправление: yyk (всего исправлений: 1)
Ответ на: комментарий от yyk

О, а вот и первый бугуртенок-борщевичок явился. Поприветствуем!

в людских взаимоотношениях, наконец

бездумное следование «поведенческим клише»

Нечего ответить по теме - придерись к деталям? Оок.

anonymous
()
Ответ на: комментарий от yyk

бездумное следование «поведенческим клише»

Это вы описали скорее «антипаттерн», нежели паттерн. Я имел в виду, например, «официальный брак» или «гражданский брак» — чем не паттерны? Проверенные временем стандартные схемы, служащие для достижения определённых (хоть и слегка разных) целей.

И давайте не скатывать топик в психологию межполовых отношений. Буду признателен, если будут соображения по теме, а не цепляние к отдельным фразам.

BYHYRT
() автор топика
Ответ на: комментарий от anonymous

Нечего ответить по теме - придерись к деталям?

Ты из-за своей гипер-озабоченности совсем читать и понимать прочитанное разучился. Но, в общем-то, и не удивительно...

yyk ★★★★★
()
Последнее исправление: yyk (всего исправлений: 1)
Ответ на: комментарий от BYHYRT

Это вы описали скорее «антипаттерн», нежели паттерн.

Это я «наехал» на бездумное использование чего-либо или следование чему-либо. И в обоих формах брака не вижу ничего плохого, вот только случаи, когда «вступают в брак» ни о чём не думая, чаще всего плачевно заканчиваются. Навязывание же алгоритма «сначала замуж/женись, а потом гуляй после 23-х» (то-же паттерн) считаю махровой дремучестью.

yyk ★★★★★
()
Ответ на: комментарий от yyk

Это я «наехал» на бездумное использование чего-либо или следование чему-либо.

И как это вообще связано с паттернами? Паттерны - просто набор терминов для обозначения тех общих для всех опытных разработчиков практик, которые иначе бы тупо назывались бы как попало, затрудняя коммуникацию.

Паттерны есть, это объективный факт, от которого никуда не денешься. Или мы даем им имена, облегчая тем самым обсуждение архитектуры, или закрываем глаза на сам факт их наличия, и разводим терминологический бардак. Какой из вариантов тебе больше нравится?

anonymous
()
Ответ на: комментарий от anonymous

Ну там и про ватник и про бугурт есть статьи, но это же не то.

crowbar
()
Ответ на: комментарий от anonymous

И как это вообще связано с паттернами?

Точно так-же, как паттерны связаны с молотком, которым заворачивают шурупы, и с отвёрткой, которой забивают гвозди. Но если с молотком почти интуитивно понятно (достаточно раз посмотреть и раз попробовать) что и как делать, и нет желания им пользоваться по случаю и без случая, то «горячие головы» носятся со своими паттернами, будто им везде мерещаться гвозди. Я понимаю, что сами паттерны в этом не виноваты. Ну так и БАДы, в общем-то, полезные в отдельных случаях препараты, если бы только шумиха вокруг них не раздулась до такого масштаба, что проще наклеить ярлык «говно», нежели пытаться разъяснять что и как.

yyk ★★★★★
()
Ответ на: комментарий от yyk

то «горячие головы» носятся со своими паттернами, будто им везде мерещаться гвозди.

Я же объяснил - паттерны - для опытных разработчиков. А когда неопытным мартышкам пытаются рассказать о том, что они могли бы понять только из собственного опыта, получается лажа.

Еще раз - паттерны объективно существуют. То, что толпы макак не в силах паттерны понять, это проблема самих макак, а вовсе не паттернов.

что проще наклеить ярлык «говно», нежели пытаться разъяснять что и как.

Ну и куда ты без паттернов денешься-то?

anonymous
()
Ответ на: комментарий от anonymous

Методом борьбы с распространением борщевика в дикой природе является картирование зон его самосева и уничтожение растений до появления семян

Прекрасно, просто прекрасно!

anonymous
()
Ответ на: комментарий от anonymous

Я же объяснил - паттерны - для опытных разработчиков

Но вот только почему-то полки книжных магазинов не завалены книгами «шунтирование коронарных сосудов для чайников за 24 часа», и им не пытаются заниматься если просто появился насморк или даже голова слегка заболела.

yyk ★★★★★
()
Ответ на: комментарий от yyk

А что, полки уставлены книгами «паттерны за 24 часа»? Нет. В книгах для чайников про паттерны ни слова не сказано, а если чайники хватают с полок книги для спецов, то, опять же, виноваты сами чайники.

anonymous
()
Ответ на: комментарий от anonymous

А что, полки уставлены книгами «паттерны за 24 часа»? Нет.

Таки теперь ты будешь придираться к деталям? Полки завалены книгами по паттернам, и везде они объясняются «на котятах». И если в книгах и пишут об осторожном применении паттернов, то мелким почерком и в конце книги. И ни в одной книге с таким-же восторгом и упоением, с которым расписаны примеры применения паттернов, не разбираются случаи, когда применение паттернов излишне и не оправдано. По мне, так это равносильно рекламе табакокурения :)

yyk ★★★★★
()
Ответ на: комментарий от fat_angel

Спокойно. Мем профорсен (а значит уныл) данным анонимусом.

Если тебе бомбануло, значит, уже не уныл ;)

// captcha: uzad pli (!!!)

anonymous
()
Ответ на: комментарий от fat_angel

Внезапно, мем «мем профорсен» тоже профорсен.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.