Why I Hate Frameworks
Прелестное эссе.
Как было сказано в одном из отзывов:
"Excellent, I thought I was reading Robert Sheckley for a little while."
Надеюсь мой русский перевод не убил до конца очарование английского текста.
© перевод с англ.:
gazlan@yandex.ru 2008
Why I Hate Frameworks
© Benji Smith
Friday, September 30, 2005
Found on JOS ("Joel on Software")
http://discuss.joelonsoftware.com/defau ... .219431.12Почему я ненавижу фреймворки
Я планирую этапы разработки основанного на Джава web-приложения (да, на Джава
- по различным причинам, в которые я сейчас не хочу вдаваться). В процессе, я
испробовал кучу J2EE portlet-enabled JSR-compliant MVC role-based CMS web
service application frameworks.
И после нескольких дюжин часов, потраченных на изучение списков возможностей
и документации, я готов вырвать мои глаза.
Давайте, предположим, я решил изготовить шкафчик для специй.
Я занимался столярными работами прежде, так что неплохо представляю, в чем я
нуждаюсь - древесина и несколько основных инструментов: рулетка, пила,
уровень и молоток.
И если бы я вздумал построить целый дом, вместо шкафчика для специй, я все
еще нуждался бы в рулетке, пиле, уровене и молотоке (среди всего прочего).
Так что я отправился в скобяной магазин за инструментом, и спросил у
продавца, где я могу найти молоток.
- Молоток? - спросил он. Никто больше не торгует молотками. Они устарели.
Довольно неожиданно. Я спросил его - почему?
- Видите ли, проблема с молотками заключается в том, что их слишком много
типов. Кузнечные молотки, бытовые молотки, сферические молотки. Что если вы
купите определенный молоток и позднее обнаружите, что нуждаетесь в совершенно
другом? Вам придется купить другой молоток для следующей задачи. С тех пор,
как это стало ясно, большинство людей действительно хотят универсальный
молоток, который сможет обслужить все различные сорта молоточных задач,
которые могут встретиться в вашей жизни.
- Гм... Хорошо, я полагаю, это звучит правильно. Можете показать мне, где
найти Универсальный Молоток?
- Нет, никто не покупает их больше. Они устарели.
- В самом деле? Я думал, вы сказали, что Универсальный Молоток был
направлением будущего?
- Видите ли, если вы производите только один вид молотков, могущих выполнять
все виды работ, как все эти различные виды молотков, то это не лучший
вариант. Забивание гвоздей кувалдой не слишком эффективно. И, если вы хотите
прибить вашу бывшую подружку, тогда сферический молоток действительно
незаменим.
- Это правда. Так, если никто не покупает больше Универсальных Молотков и
если вы не продаете больше все эти устаревшие типы молотков, то чем же вы
торгуете?
- На самом деле, мы вообще не продаем молотков.
- Так...
- Согласно нашим исследованиям, в действительности, люди вовсе не нуждаются в
Универсальном Молотке. Гораздо лучше иметь молоток, соответствуюший данной
работе. Так что мы начали продавать фабрики молотков, которые могут
производить любые типы молотков, которые могут вам потребоваться. Все что вам
необходимо сделать, это укомплектовать фабрику молотков работниками,
активировать машины, закупить материалы, уплатить налоги и PRESTO... вы
немедленно имеете в точности тот тип молотка, что вам нужен.
- Но у меня нет никакого желания покупать фабрику молотков...
- И это правильно. Потому что мы не торгуем ими больше.
- Но, вы только что сказали...
- Мы выяснили, что большинство людей на самом деле не нуждается в комплектной
фабрике молотков. Некоторые люди, например, никогда не нуждаются в
сферических молотках. (Возможно, у них нет бывших подружек. Или вместо
сферических молотков, они убили их альпенштоками.) Так что маловероятно, что
кто-то захочет купить фабрику молотков, способную производить все виды
молотков, возможные под солнцем.
- Согласен, очень здравая мысль.
- Так что вместо этого, мы начали продавать схематические диаграммы для
фабрик молотков, позволяющих нашим клиентам построить их собственную фабрику
молотков, специализированную для производства только тех видов молотков,
которые им действительно необходимы.
- Позвольте предположить. Вы не торгуете ими больше?
- Нет. Разумеется, нет. Как выяснилось, люди не хотят строить целую фабрику
только для того, чтобы произвести несколько молотков. Оставьте строительство
фабрик экспертам по строительству фабрик - вот что я всегда говорил!!
- Я полностью согласен с вами.
- Угу. Так что мы прекратили продавать эти схемы и начали продавать фабрики,
производящие фабрики молотков. Каждая фабрика фабрик молотков произведена для
вас ведущими экспертами в бизнесе фабрик фабрик молотков, так что вам нет
нужды беспокоиться обо всех деталях производства фабрики. И при этом вы все
еще получаете все преимущества от владения вашей собственной
специализированной фабрикой молотков, вырабатывающей ваши собственные
специализированные молотки в соответствии с вашими собственными
спецификациями дизайна молотков.
- Однако, это не совсем...
- Я знаю, что вы хотите сказать!! ... и мы не продаем их больше. По некоторым
причинам, немногие люди покупали фабрику фабрик молотков, так что мы нашли
новое решение для этой проблемы.
- Уф.
- Когда мы отступили назад и вгляделись в глобальную инфраструктуру
инструментов, мы определили, что людям не нравилось управлять и заниматься
фабриками фабрик молотков - также как и фабриками молотков, которые они
производили. Этот вид забот может быть довольно обременителен, когда вам
приходится действовать по подобному сценарию также и с фабриками фабрик
рулеток, с фабриками фабрик пил и с фабриками фабрик уровней, не говоря уже о
холдинговой компании - конгломерате мануфактур лесоматериалов. Когда мы
выяснили эту ситуацию, мы поняли, что она слишком сложна для тех, кто просто
намеревался изготовить шкафчик для специй.
- Разумеется, без сомнений.
- Так что на этой неделе, мы представляем многоцелевую фабрику фабрики фабрик
инструмента, так что все ваши различные фабрики фабрик инструмента могут быть
созданы одной унифицированной фабрикой. Эта фабрика фабрики фабрик будет
производить только те фабрики фабрик инструмента, в которых вы действительно
нуждаетесь, и каждая из этих фабрик фабрик будет производить уникальную
фабрику, основанную на выших собственных спецификациях инструмента.
Окончательный набор инструмента, который будет произведен в резудьтате этого
процесса, станет идеальным инструментом для вашего частного проекта. Вы
будете иметь в точности тот молоток, что вам нужен, именно ту рулетку, что
нужна для вашей задачи и все виды клавиш (также, вы можете распостранять
несколько конфигурационных файлов, так чтобы вся работа выглядела в
соответствии с вашими ожиданиями.)
- То есть у вас нет молотков? Совсем ни одного?
- Нет. Если вы хотите высококачественный, изготовленный в соответствии с
индустриальными стандартами шкафчик для специй, вы отчаянно нуждаетесь в
чем-то более прогрессивном, чем простой молоток из заштатной скобяной лавки.
- И это путь, которым должен идти каждый? Каждый должен использовать
многоцелевую фабрику фабрики фабрик инструмента всякий раз, когда он
нуждается в молотке?
- Да.
- Хорошо. Ладно. Видимо, мне придется так и поступить. Если сейчас вещи
создаются таким образом, я думаю будет лучше выучить, как делать это.
- Успеха !
- И они приходят с документацией, да?
Benji Smith Friday, September 30, 2005
Сейчас я гордый владелец моей собственной многоцелевой фабрики фабрики фабрик
инструмента. Я рад знать, что это соответствует GPTBFFF 0.97 RC2 draft
specification для фабрики фабрики фабрик инструмента.
По счастью, 70% работников в Tool-Oriented Metafactory Union сертифицированы
по этой версии спецификации.
Правда, существует конкурирующий стандарт, однако, совершенно неотразимая
метафакторная технология, называемая UXCTBFFF (Universal Trans-Continental
Tool Building FFF), обещает унифицировать индустрию фабрики фабрики фабрик
так, чтобы соответствовать требованиям стран, одновременно использующих
метрические и стандартные инструменты.
Как я понимаю, будет выпущен сервис-пак для моей GPTBFFF 0.97 RC2, который
придаст ей почти 95% совместимость с UXCTBFFF стандартом, просто создав еще
один уровень абстракции к ее пользовательскому интерфейсу.
Восхитительно!!
Уверен, это обновление улучшит качество моего шкафчика для специй (который я
собираюсь сделать на днях - как только полностью получу и запущу всю мою
фабрику фабрики фабрик, обучу рабочих, будут доставлены материалы из Камбоджи
итд).
Benji Smith Friday, September 30, 2005