Не бойтесь космонавтов архитектуры

Don’t Let Architecture Astronauts Scare You by Joel Spolsky

Обдумывая проблемы, великие мыслители во всем находят общность. Глядя на людей посылающих друг другу файлы текстовых процессоров или файлы электронных таблиц, они понимают, что существует общность — отправка файлов. Уже готов первый уровень абстракции. Тогда они идут дальше — люди «отправляют» файлы, а веб-браузеры «отправляют» запросы на веб-страницы. А если немного подумать, то вызов метода объекта схож с отправкой сообщения объекту! Следующее обобщение, все это —  операции отправки. Позднее наш умный мыслитель изобретает новую, более высокую, более всеобъемлющую абстракцию, которую называет messaging. И все становится настолько расплывчатым, что уже никто не понимает, о чем речь. Бла-бла-бла.

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

КОСМОНАВТЫ АРХИТЕКТУРЫ
Таких людей я называю Космонавтами Архитектуры [1]. Это очень трудно — заставить их писать код или проектировать программу, ведь они постоянно заняты мыслями об архитектуре. Они космонавты и витают там вверху, в безвоздушном пространстве. Правда, я не знаю, чем они дышат. Работают они, как правило, в истинно великих компаниях, где позволительно содержать толпу бездельников с учеными степенями, ни одной строчкой не вносящих реальный вклад в дело.

Свеженький пример. Типичный космонавт архитектуры, размышляя над тем, что «Napster — Peer-To-Peer (P2P) [2] сервис для обмена музыкой» проигнорировал все, кроме архитектуры, думая, что интересно только Peer-To-Peer, забыв о том, что ещё можно ввести название песни и мгновенно её прослушать.

Все размышляют о Peer-To-Peer, и об этом, и о том, внезапно обнаруживая Peer-To-Peer конференцию, Peer-To-Peer фонд венчурного капитала, и даже Peer-To-Peer рефлексию идиотствующих бизнес-журналистов, истекающих желчью, переписывая друг у друга: «Peer-To-Peer мерт!».

Космонавт архитектуры задается вопросом: «Можно ли представить себе такую программу, как Napster, но с возможностью обмениваться не только песнями?» И кинется создавать приложение, подобное Groove. Потому, что считает его более общим, чем Napster, но пренебрегает при этом незначительной, крошечной функцией —  можно ввести название песни и немедленно её прослушать. Тем, что мы хотели получить изначально. Суть потеряна, всё. Если бы Napster был не Р2Р и позволял, напечатав название, немедленно прослушать песню, он все равно был бы популярен.

Еще одно распространенное свойство космонавтов архитектуры — заявлять, придумав новую архитектуру, что именно она что-то решает. Java, XML, SOAP, XML-RPC, Hailstorm, NET, Jini, о боже я не успеваю. И это только за последние 12 месяцев! Я не хочу сказать ничего плохого об этих архитектурах, ни в коем случае. Это довольно хорошие архитектуры. Но какой грандиозной шумихой все это сопровождается. Помните white paper [3] Microsoft Dot Net? «Следующее поколение настольных платформ Windows, Windows.NET поддерживает продуктивность, креативность, управление, развлечения и многое другое, и предназначен обеспечить полный контроль пользователя над своей цифровой жизнью». Это было около 9 месяцев назад. А месяц назад мы получили Microsoft Hailstorm. В white paper последнего говорится: «Люди не управляют технологией, которая их окружает …. Hailstorm заставляет технологию в вашей жизни работать вместе от Вашего имени и под вашим контролем». О, великолепно, теперь высокотехнологичный галогеновый свет в моей квартире перестанет моргать случайным образом.

Microsoft не одинок. Вот цитата из white paper Jini: «Три таких факта — вы новый системный администратор, нет компьютеров, один компьютер есть всегда, должны реально сочетаться для улучшения мира, когда исчезают границы и компьютер доступен везде и всегда, а работать с ним так же просто, как положить DVD в лоток домашнего кинотеатра».

И даже не напоминайте мне о навозе, распространяемом Джорджом Гилдером о Java: «Важнейший прорыв в истории техники …» Верный признак того, что Вам угрожает космонавт архитектуры — это невероятная напыщенность; героическая, утопическая высокопарность; хвастовство; полное отсутствие чувства меры. И люди покупаются! Деловая пресса сходит с ума!

Почему, черт возьми, людей так впечатляет скучная архитектура, которая зачастую не более чем новый формат передачи RPC или просто виртуальная машина? Такие вещи могут быть хорошими архитектурами, они, безусловно, благо для разработчиков, которые их применяют, но это не замена, я повторюсь, не замена мессии, въезжающего на белой ослице в Иерусалим или миру во всем мире. Эй, Microsoft, компьютеры не начнут вдруг читать наши мысли и автоматически делать то, что мы хотим только потому, что у каждого в мире есть Login и Password. Очнитесь, Sun, мы не сможем и не будем анализировать свои корпоративные данные о продажах «так же просто, как положить DVD в лоток домашнего кинотеатра».

Помните, космонавты архитектуры — это люди, решающие те проблемы, которые они способны решить, а не те, решение которых действительно необходимо. SOAP + WSDL может быть действительно горячая штучка, но на самом деле она не позволяет делать что-то такое, что невозможно при желании сделать без неё, опираясь на другие ранние технологий. Вся та нирвана распределённых сервисов, о которой болтают космонавты, уже была обещана в прошлом, когда мы использовали DCOM, JavaBeans, OSF DEC или CORBA.

Приятно, что сейчас мы можем использовать XML в качестве формата передачи. Вау-у-у! Но для меня это интересно примерно так же, как знание того, что супермаркет использует грузовики для перевозки товаров со склада. Йон. Манго, это интересно. Покажите мне такие возможности, которых не было раньше, а космонавтов архитектуры попрошу оставаться там, в космосе, и больше не занимать моё время.

Источник: Don’t Let Architecture Astronauts Scare You by Joel Spolsky

Вольный перевод автора.

ПРИМЕЧАНИЕ:

  1. В оригинале Architecture Astronauts. Но слово космонавт все же, в приложении к русскому яснее. Поэтому и будем употреблять далее Космонавт архитектуры;
  2. Peer-to-peer (или P2P) — это технология построения распределенной сети, в которой каждый узел может одновременно выступать как в роли получателя, так и поставщика информации;
  3. Белая книга (White paper) — это официальное сообщение в письменном виде, обычно этот термин применяется в США, Великобритании, Ирландии и других англоговорящих странах. Это может быть государственное сообщение, поясняющее политику; справочный документ для корпоративных клиентов. В информационных технологиях это, как правило, текст, который Вы читаете при установке программного обеспечения.

CC BY-NC 4.0 Не бойтесь космонавтов архитектуры, опубликовано waksoft, лицензия — Creative Commons Attribution-NonCommercial 4.0 International.


Респект и уважуха

Добавить комментарий