www.gnuman.ru

Резюме | Контакты | Работа | Page Title Eraser | GrayModern2 | Статьи
Путешествия | Фотоальбомы | Проект 365 | Блог | Черный список
Как выиграть суд у ГИБДД и вернуть права | Технический департамент своими руками

Не дайте Астронавтам Архитектуры вас запугать

Автор: Джоэл Спольски
В оригинале статья называлась Don't Let Architecture Astronauts Scare You и была написана 21 апреля 2001

Когда великие мыслители думают о проблемах, они начинают видеть шаблоны. Они видят людей, посылающих друг другу документы текстового процессора, и затем они видят людей, посылающих друг другу электронные таблицы, и они понимают, что есть общий образец: отправка файлов. Это - первый уровень абстракции. Далее они поднимаются на следующий уровень: люди посылают файлы, но web-браузеры также "посылают" запросы на получение web-страниц. И если немного подумать, вызов метода у объекта походит на отправку сообщения объекту! Это - снова то же самое! Все вышеперечисленное - это операции отправки, так что наш умный мыслитель изобретает новую, более высокую, более широкую абстракцию, называемую messaging, но сейчас она становится действительно неопределенной, и никто на самом деле уже не знает о чем идёт речь. Ерунда.

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

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

Недавний пример это иллюстрирует. Типичный астронавт архитектуры возьмёт факт вроде "Napster - это пиринговый сервис для скачивания музыки" и проигнорирует всё, кроме архитектуры, думая, что он интересен, потому что он является peer to peer, полностью упуская из вида тот факт, что можно ввести название песни и прослушать её сразу же.

Всё, о чём они будут говорить - peer-to-peer это, то и вон то. Внезапно вы обнаружите peer-to-peer конференции, венчурные фонды peer-to-peer, и даже враждебную реакцию от слабоумных бизнес журналистов, истекающих злорадством в формате peer-to-peer, потому что они копируют истории друг у друга: "Peer-to-peer: умер!".

Астронавты Архитектуры скажут: "Представьте себе программу вроде Napster, но с возможностью загрузить что угодно, не только песни?". Далее они начнут разрабатывать приложения вроде Groove, которые как они думают, являются более общими, чем Napster, но которые, похоже, пренебрегают той крошечной маленькой особенностью, что можно напечатать название песни и послушать её. А это именно та особенность, которую мы хотели получить с самого начала. Речь о том, что главное упущено. Если бы Napster не был peer-to-peer приложением, но действительно позволял бы напечатать название песни и послушать её, он был бы столь же популярным.

Другая вещь, которую любят делать Астронавты Архитектуры - это изобретать какую-то новую архитектуру и утверждать, что она что-то там решает. Java, XML, Soap, XmlRpc, Hailstorm, .NET, Jini, о господи, я не выдержу. И это только за последние 12 месяцев!

Я не говорю, что с этими архитектурами что-то не так... ни в коем случае. Это довольно хорошие архитектуры. Что меня раздражает, так это громадное количество очковтирательства, которое их окружает. Помните обзор Microsoft Dot Net?

Следующее поколение платформы Windows для десктопов, Windows .NET, поддерживает высокую продуктивность, творческий потенциал, развлечения и многое другое, и она разработана, чтобы дать пользователям возможность контролировать их цифровую жизнь.

Это было 9 месяцев назад. В прошлом месяце мы получили Microsoft Hailstorm. В обзоре сказано:

Люди не контролируют технологию, которая их окружает... Hailstorm заставляет технологию в вашей жизни работать по вашему поручению и под вашим контролем.

О, хорошо, теперь высокотехнологичный галогенный свет в моей квартире перестанет мигать.

Microsoft - не одни такие. Вот - цитата из обзора Sun Jini:

Эти три факта (вы - новый администратор, компьютеров нигде нет, один компьютер есть везде), должны объединиться, чтобы улучшить мир использования компьютеров, заставляя границы компьютеров исчезать, заставляя компьютер быть всюду, и делая детали работы с компьютером столь же простыми как вставка DVD в лоток домашнего кинотеатра.

И даже не напоминайте мне об удобрении, которое Джордж Джилдер распространяет о Java:

Фундаментальный прорыв в истории технологии...

Уверенное подтверждение факта, что на Вас нападает Астронавт Архитектуры: невероятное количество напыщенности; героическая, утопическая высокопарность; хвастовство; полный недостаток чувства действительности. И люди покупают это! Деловая пресса сходит с ума!

Какого черта люди столь увлекаются скучной архитектурой, которая часто представляет собой не что иное, как новый формат передачи для RPC, или новую виртуальную машину? Эти вещи могли бы быть хорошей архитектурой, они, конечно, принесут пользу разработчикам, которые используют их, но они - не являются, я повторяюсь, не являются, хорошей заменой мессии, въезжающему на белом осле в Иерусалим, или миру во всем мире. Нет, Microsoft, компьютеры внезапно не собираются начинать читать наши мысли и делать то, что мы хотим автоматически только потому, что каждый в мире должен иметь Passport. Нет, Sun, мы не будем способны анализировать наши корпоративные коммерческие данные "так просто как вставка DVD в лоток домашнего кинотеатра".

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

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

Оригинал статьи: http://local.joelonsoftware.com/wiki/Не дайте Астронавтам Архитектуры вас запугать


Другие статьи Джоэла Спольски (The Joel on Software) на русском языке
Маркетологи vs. Разработчики
Похож ли медленный рост на медленную смерть?
О чем ваша компания?
Студенческие проекты и тайм-менеджмент
Особенности Вайфая на конференциях
Новый Офис Fog Creek
Почему форматы Microsoft Office такие сложные? (И как это обойти)
Речь в Йельском университете 1
Речь в Йельском университете 2
Речь в Йельском университете 3
Письмо о стратегии VI
Семь шагов на пути к восхитительной службе по работе с клиентами
Общая картина
Консалтинг по оценке производительности (из писем)
Измерения продуктивности
В поисках Великих Разработчиков
Не дайте Астронавтам Архитектуры вас запугать
Секрет айсберга
Метод отождествления
Метод экономической мотивации
Командный метод управления
Три метода управления (введение)
А ваш язык программирования так может?
Контракты и соглашения которые не стоит подписывать
Ежедневная сборка - ваш союзник и друг
Моя первая проверка Билла Г
Испытание Удобства и Простоты Использования с Морами
Опасности обучения на Java
Как поставлять что-нибудь по почте
Превращение денег в программное обеспечение, которое работает
Три заблуждения теории вычислительной техники
Достигая тех высот
Выбор даты выпуска
Как заставить неправильный код выглядеть неправильно
Совет студентам изучающим вычислительную технику
Верблюды и песочница
Пожалуйста, сэр, могу ли я получить компоновщик?
Как Microsoft проиграла битву за API
Не просто удобство использования
Абсолютный Минимум, который Каждый Разработчик Программного Обеспечения Обязательно Должен Знать о Unicode и Наборах Символов
Как сделать так, чтобы ваше резюме прочитали
Двоекультурие
Бионический офис
Лорд Палмерстон в программировании
Закон Дырявых Абстракций
О вреде премирования
Пять миров
Огонь и движение
Назад, к основам
Весна в Кэмбридже
О вреде многозадачности применительно к людям
По главной улице без оркестра
Тест Джоэла: 12 шагов к лучшему коду
У Microsoft поехала крыша
Cтратегические заметки III. Позвольте мне отказаться!
Пять (неуважительных) причин не иметь тестеров
Ну откуда все эти (неоригинальные) мысли?
Планирование программного обеспечения малой кровью
Стратегические заметки II: Вопрос о курице и яйце
"Я начальник - ты дурак" и команда клоунов
Искусство проведения интервью
А вот ещё про отпуск
Введение в Восхитительный Дизайн
Для чего нужны тестировщики



Правильный CSS! Valid XHTML 1.0 Transitional