Великие умы, размышляя о проблемах, обнаруживают закономерности. Они задумываются о пересылке файлов текстового процессора, а потом о пересылке электронных таблиц, и открывают общую закономерность: люди посылают файлы. Так возникает один уровень абстракции. Затем они поднимаются выше еще на один уровень: люди посылают файлы, но веб-броузеры тоже «посылают» запросы для получения веб-страниц. А если вдуматься, то вызов метода объекта совершенно аналогичен посылке сообщения объекту! Та же самая закономерность! Всё это операции посылки, и наш мыслитель изобретает новую, более высокую и широкую абстракцию, названную им посылкой сообщений (messaging), так что теперь всё становится совершенно неясным, и никто уже не понимает, о чем они говорят. Забираясь в подобном абстрагировании слишком высоко, вы лишаете себя кислорода. Временами эти мудрые мыслители не могут вовремя остановиться и создают нелепые универсальные абстрактные картины вселенной, которые замечательны, но не имеют абсолютно никакого смысла.
Такого рода людей я называю архитектурными астронавтами. Очень трудно посадить их писать код или проектировать программы, потому что они непрерывно размышляют об архитектуре. Это настоящие астронавты, потому что они настолько выше содержащей кислород атмосферы, что непонятно, чем они дышат. Они стремятся работать в очень крупных компаниях, которые могут себе позволить содержать массу ничего не производящих людей с высокими званиями, ничего не вносящих в конечные результаты.
Иллюстрацией может служить следующий довольно свежий пример. Типичный архитектурный астронавт, рассматривая утверждение о том, что «Napster – это одноранговая сеть для загрузки музыки», проигнорирует всё, кроме указания на архитектуру, его заинтересует только одноранговость Napster, а возможность ввести название песни и сразу начать её слушать оставит его безразличным.
Теперь у них только и разговоров: одноранговое одно, другое, третье. Внезапно появляются одноранговые конференции, одноранговые фонды венчурных капиталов и даже одноранговое обратное движение, когда слабоумные бизнес журналисты радостно пускают слюни, копируя друг у друга истории: «Конец одноранговых сетей!» Архитектурные журналисты задают вопросы типа: «Нельзя ли представить себе программу типа Napster для загрузки чего угодно, а не только песен?» Потом они строят приложения типа Groove, которые, по их мнению, обладают более общими возможностями, чем Napster, но при этом пренебрегают некоей незаметной функцией, позволяющей ввести название песни, а потом её слушать, – той функцией, которая и была нам нужна в первую очередь. Речь о том, что не понят весь смысл. Если бы Napster не был одноранговой сетью, но позволял ввести название песни и слушать её, его популярность от этого не уменьшилась бы.
Ещё архитектурные астронавты очень любят изобрести какую-нибудь новую архитектуру и утверждать, что она решает некую проблему. Java, XML, Soap, XMLCRPC, HailStorm, .NET, Jini – нет сил продолжать. И это только в течение одного года! Я не хочу сказать, что эти архитектуры плохи... ни в коем случае. Это вполне добротные архитектуры. Что меня раздражает, так это неимоверная рекламная шумиха, которой они сопровождаются. Помните информационный доклад Microsoft по поводу .NET?
Представляя собой новое поколение настольных платформ Windows, Windows .NET поддерживает высокую эффективность, творческую активность, менеджмент, отдых и многое другое, будучи нацеленной на установление контроля пользователей за их цифровой жизнью.
Это было девять месяцев назад. В прошлом месяце нам объявили о Microsoft HailStorm. Соответствующее информационное сообщение гласит:
Люди не владеют окружающей их технологией... HailStorm служит тому, чтобы технологии в вашей жизни действовали совместно для вашего блага и под вашим контролем.
Отлично, теперь высокотехнологичная лампа у меня в квартире перестанет мерцать. Microsoft не одинока. Вот цитата из информационного сообщения Sun Jini:
Данные три обстоятельства (вы – новый системный администратор, нигде вокруг нет компьютеров, и один компьютер находится повсюду) должны в совокупности повлиять в лучшую сторону на использование компьютеров в качестве компьютеров – путем размывания границ отдельных компьютеров, повсеместного проникновения одного компьютера и превращения работы с компьютером в такую же простую вещь, как воспроизведение DVD в домашнем театре.
И не напоминайте мне об удобрении, которое Джордж Гилдер внёс в распространение Java:
Фундаментальный и исторический прорыв в технологии...
Вот явные свидетельства того, что вы подверглись атаке архитектурного астронавта: невероятная напыщенность, эпическая высокопарность, хвастовство, полный отрыв от реальности. И людям это нравится! Бизнес пресса с ума сходит!
По каким непостижимым причинам на многих производит такое огромное впечатление какая-то скучная архитектура, часто сводящаяся лишь к новому формату RPC или новой виртуальной машине? Вполне возможно, что всё это хорошие архитектуры, и несомненно, что разработчики выиграют от их использования, но они не являются, я подчеркиваю, не являются достойной заменой мессии, въезжающему в Иерусалим на белом осле, или наступлению всеобщего мира. Нет, Microsoft, компьютеры не начнут внезапно угадывать наши мысли и автоматически делать то, что нам нужно, лишь благодаря тому, что все заведут учетную запись в системе Passport. Нет, Sun, мы не сможем анализировать результаты данных корпоративных продаж с такой же легкостью, с какой «просматриваем диск DVD в домашнем кинотеатре».
Помните, что эти архитекторы решают те проблемы, которые, как им кажется, они могут решить, а не те проблемы, которые было бы полезно решить. Возможно, что SOAP + WSDL – это самая горячая новость, но с её помощью вы не сделаете ничего такого, чего не могли делать раньше с помощью других технологий – если вам это действительно было нужно. Вся эта нирвана распределенных сервисов, о которой треплются архитектурные астронавты, уже была обещана нам ранее – посредством DCOM, JavaBeans, OSF DCE или CORBA.
Прекрасно, что теперь мы можем передавать сообщения в формате XML. Ура! Меня это должно волновать не более чем то, что товары в мой супермаркет привозят со склада грузовики. Скучно. Лучше расскажите мне, что я теперь смогу сделать нового, чего не мог сделать раньше, о, Астронавты, или оставайтесь там в своем космосе и не отнимайте у меня моё время.