Rambler's Top100 Service Этот текст распечатан с домашней странички Андрея Калинина (www.kalinin.ru).
Оригинал статьи находится по этому адресу: http://www.kalinin.ru/comment/books/28_02_01.shtml


Decline and Fall of the American Programmer

28.02.01

  Иллюстрация
  Обложка книги.
  Обложка книги.

Эдвард Йордон является одним из самых известных специалистов в области создания больших программных систем. Широко известна его нотация, предназначенная для структурного анализа и проектирования. Кроме того, он является издателем журнала "Cutter IT Journal" (который раньше выпускался под названием "American Programmer").

В книге "Decline and Fall of the American Programmer" описываются средства, которые должны помочь менеджерам и программистам создавать действительно качественные программные системы. Приведено краткое описание методологий проектирования, "метрик" программного обеспечения, указано на место CASE-средств в современном программировании. В общем, обзорная книга о том, в каких случаях и как должно быть использовано то или иное средство.

Несмотря на то, что книга описывает состояние дел на 1993 год, все равно ее содержание осталось актуальным и сегодня. Другое дело, что, как мне кажется, все это по большому счету несколько неправильно... попытаюсь объяснить, что я имею в виду.

"Decline and Fall ..." в основном книга формальная. Йордон пытается убедить читателя в том, что все описываемое им действительно работает и если это не работает в каком-то конкретном случае, то виновато неправильное применение. Возможно, не буду спорить. В конце-концов, мне еще не приходилось работать в действительно _больших_ проектах с многочисленным штатом программистов, работающих над одной программной системой. Но и то, что я видел или в чем принимал участие, наводит на мысль, что ни одна из существующих технологий или методологий не применима в конкретном случае "в чистом виде". Я так думаю, что технологии программирования могут сработать только в том случае, если проект, к которому они применяются, "один из", то есть не содержит в себе ничего нового.

Кроме того, любые попытки по "стандартизации" процесса программирования в конечном итоге приводят к тому, что программисты "эволюционируют" в сторону такого же "стандартного" (вернее, шаблонного) программирования. Я не хочу давать оценку этому факту, хотя бы потому что только у очень простых вопросов есть однозначные ответы, но сама формализация таких параметров, как "качество программного обеспечения" или "класс организации", несколько сомнительна. Просто потому, что очень похоже на "счастье для всех, даром, и пусть никто не уйдет обиженный!" Конечно же, "поиск прекрасной дамы" сам по себе не плох, потому что если к его результатам относится с долей скептицизма, то можно найти много полезного в той информации, которую, быть может, сам автор считает несущественной. Но у многих вызывет отвращение само упоминание слова CASE (во многом, надо сказать, заслуженно)...

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

С другой стороны, несмотря на всю свою формальность, местами в книге проглядывает вполне здравый смысл и попытки объяснить, почему же все это обычно не работает. В первых главах такие объяснения сопровождаются письмами реальных программистов автору, а в дальнейшем выглядят как рассуждения Йордона.

Рекомендую ознакомиться с книгой, хотя бы для общего развития. Повторю, что я сомневаюсь в полезности всего там описанного, но, тем не менее, обо всем этом хорошо бы знать. С другой стороны, если есть чем заняться еще, то не прочитав эту книгу человек ничего не потеряет.

Стоит отметить, что отзывы тех, кого сейчас модно называть IT-специалистами, о книге в достаточной степени противоречивы --- кому-то нравится, а кому-то нет. На мой взгляд, американских коллег задело то, что Йордон предсказывал упадок индустрии программирования в США и переход большей части разработок в оффшор.

Хотя, на мой взгляд, книга достаточно интересна. Хочу предупредить о том, что насколько мне известно, этой книги в русском переводе не существует (зато недавно появилась другая книга Эдварда Йордона --- "Путь камикадзе", комментарий к которой рано или поздно появится здесь).

Резюме

Краткое изложение формальных приемов создания больших программных систем. Несколько сомнительно, что все описанное можно применить в реальной жизни (в таком виде, в каком описывается Йордоном), но достаточно интересно и познавательно. С другой стороны, книга неровная, и если некоторые ее части читаются буквально "на одном дыхании", то другие лучше пропустить (наподобие рассуждений о том, сколько цветов должен иметь монитор рабочей станции, предназначенной для CASE-моделирования).

Ссылки по теме

http://www.yourdon.com Домашняя страничка Эдварда Йордона.
http://progstone.nm.ru Programming Stone в русском переводе.

©2000-2001 by Andrey L. Kalinin,
andrey@kalinin.ru