Rambler's Top100 Service калинин.ru / комментарии / web-ресурсы /  << 13.03.01 >>

Programming Stone по-русски

Достаточно забавное название, как мне кажется. Собственно, "programming stone" это запись нескольких дней лекций Алана Картера, посвященных проблемам программирования "вообще".

    Иллюстрация
    Programming stone по-русски.
    Programming stone по-русски.

Я уже распространялся на эту тему, но хочется еще раз подчеркнуть: создание больших программных комплексов обычно идет не так, как хочется. Собственно, анализируя этот странный факт, Йордон в "Пути камикадзе" дошел до того, что, фактически, назвал все проекты безнадежными, а успешное завершение какого-либо проекта --- невероятной удачой. То есть, не "из-за", а "вопреки" стараний программистов. Но все равно хочется понять, почему проекты развиваются именно так, а не иначе...

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

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

Смею вас заверить, читать этот текст очень интересно. Нет, действительно --- там содержится большое количество здравых идей и я рекомендую с ними ознакомиться... но. Все дело в том, что в большинстве своих случаев "свободные художники" достаточно оригинальные люди. У них свои взгляды на жизнь или работу и спорить с ними по этому поводу часто бывает сложно по причине уж очень большой самоуверенности, часто подкрепленной реально выполненными (успешно выполненными) проектами. Перенос того, что и как может сделать "свободный художник" на всех остальных вряд ли даст что-либо еще "всем остальным", просто потому, что это очень лично и, хотя обычно такими секретами охотно делятся, к ним надо относится с особенным скептицизмом. Собственно, точно так же и с "Programming stone": он достаточно интересен, но принимать все написанное как руковдоство к действию бессмысленно.

С другой стороны, "Programming stone" является великолепным примером хорошей и конструктивной критики другой точки зрения, которая навязывается сторонниками формализации процесса программирования. Собственно, очень хорошо показано, почему обычно не работает использование новейших методологий или бюрократического подхода. Тут очень сложно к чему-либо придраться и во многом лично я согласен с "Programming stone", но в тексте нигде нет критики противоположенной точки зрения! Из этого может последовать навязчивый вывод, что поголовный перевод всех в "картостроителей" (как их назвали в русском переводе, я буду придерживаться этого термина) изменит текущую ситуацию в программировании и качестве программного обеспечения.

    Иллюстрация
    Programming stone по-английски.
    Programming stone по-английски.

Надо понимать, что не изменит. Тому есть две причины, первая из которых, главная, заключается в том, что "картостроителем" нельзя сделать человека извне. Я не исключаю, что люди могут кардинально изменять свои взгляды на жизнь, или просто не понимать своего "Я", но никто извне не заставит "паковщика" (еще один термин из русского перевода; все-таки, стоило выбрать что-либо более блазгозвучное) стать "картостроителем" или наоборот. Следовательно эти две категории людей (так поделенные авторами "Programming stone") уже существуют и поэтому сложно представить себе проект с большим количеством задействованных участников, каждый из которых является "картостроителем". Мне могут возразить, например, что "картостроитель" лучше "паковщика" и в подобных ситуациях следует назначать на руководящие должности "картостроителей", а "паковщиков" заставлять выполнять "черную работу". Тоже неверно: не факт, что "картостроитель" будет руководить лучше "паковщика"! Все дело в том, что руководитель вообще не обязан сам чего-то придумывать, он должен принимать решения. А решения он может получать (в больших количествах) от своих советников и помошников, и в его задачу входит выбрать среди всех решений самое приемлимое. Как он будет при этом его выбирать, основываясь на формальной системе, своих чувствах или обращению к святому духу, не суть важно: главное, чтобы решение было правильным.

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

То есть, "Programming stone" является великолепной критикой "паковщиков", но о "картостроителях", по сути, не говорится ничего. Это мне хотелось бы отметить.

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

Несколько слов следует сказать о переводе. Сначала хочется выразить благодарность Сергею Козлову, который взял на себя этот труд и сделал доступным текст "Programming stone" многим программистам, которым тяжело читать по-английски. Но с другой стороны... если есть возможность, то лучше читать оригинал. Потому что перевод достаточно корявый, неровный, а местами просто сомнительный.

Резюме

Таким образом, мне очень понравился текст "Programming stone" и я рекомендую ознаокмиться с ним всех, кто задумывается о том, как организовать работу группы программистов лучше. При этом, конечно же, нужно помнить про здоровый скептицизм.


Версия для печати


  Ссылки по теме:
http://progstone.nm.ru
   Programming stone по-русски.
http://www.reciprocality.org/R
   Programming stone по-английски.
  Рядом в разделе:
www.researchindex.com, The NECI Scientific Literature Digital Library (07.05.01)
   К сожалению, приходится признать, что для русскоязычного специалиста ощущается достаточно большая нехватка информации. Причем, если по достаточно общеизвестным, популярным или попросту...   >>>>
cpp3.virtualave.net, C++ 3rd: комментарии (26.11.00)
   Ресурсы на русском языке, посвященные C++, отличаются своим количеством... существует множество сайтов, домашних страничек объединенных общей тематикой программирования на C++. Но...   >>>>
  Рядом по дате:
Горе от ума, 2000 (21.03.01)
   Ах! к воспитанью перейдем. Что нынче, так же, как издревле, Хлопочут набирать учителей полки, Числом поболее, ценою подешевле? Я так думаю,...   >>>>
Театральные билеты (05.03.01)
   Мне всегда смешно смотреть по телевидению на очередного актера, когда тот с придыханием начинает говорить об искусстве, о спектаклях, о театре......   >>>>
  Содержание:
Заглавная страница
Мой блог
Мое резюме
Дайджест
Программирование
   C&C++
Сети
Unix
Алгоритмы
Оптимизация
Соревнования
Отвлеченно
XML
TeX
Просто так
Студенческое
Туризм
  Байки
Фотографии
Комментарии
   Книги
Web-ресурсы
Фильмы
Интернет
Программное обеспечение
Жизнь
Благодарности
Форум
Хронология
 
  В этом разделе:
Черный квадрат (12.12.01)
   Пожалуй, это такой ресурс, о котором в той или иной форме рассказал практически любой веб-обозреватель (прошу заметить, что я себя к...   >>>>
pregrad.net, заказ товаров из интернет-магазинов Европы и США (08.06.01)
   Некоторое время назад передо мной встала достаточно серьезная проблема --- явная нехватка литературы по некоторым, живо интересующим меня вопросам. Оказалось, что...   >>>>
www.researchindex.com, The NECI Scientific Literature Digital Library (07.05.01)
   К сожалению, приходится признать, что для русскоязычного специалиста ощущается достаточно большая нехватка информации. Причем, если по достаточно общеизвестным, популярным или попросту...   >>>>
Programming Stone по-русски (13.03.01)
   Достаточно забавное название, как мне кажется. Собственно, "programming stone" это запись нескольких дней лекций Алана Картера, посвященных проблемам программирования "вообще". Я...   >>>>
cpp3.virtualave.net, C++ 3rd: комментарии (26.11.00)
   Ресурсы на русском языке, посвященные C++, отличаются своим количеством... существует множество сайтов, домашних страничек объединенных общей тематикой программирования на C++. Но...   >>>>
acm.gui.uva.es, задачник по программированию (07.11.00)
   Наконец-то я вспомнил о действительно полезном ресурсе, который стоит описать. Вообще, полезность или бесполезность чего-либо, конечно же, нельзя оценить "огульно", надо...   >>>>
www.brainbench.com, раздача сертификатов (25.10.00)
   Сертифицировать можно все что угодно и кому угодно, но обычно подразумевается, что тот, кто сертифицирует, имеет право это делать. То есть,...   >>>>
Содержание раздела полностью...
   Примерно в тоже время
Горе от ума, 2000 (21.03.01)
   Ах! к воспитанью перейдем. Что нынче, так же, как издревле, Хлопочут набирать учителей полки, Числом поболее, ценою подешевле? Я так думаю,...   >>>>
Театральные билеты (05.03.01)
   Мне всегда смешно смотреть по телевидению на очередного актера, когда тот с придыханием начинает говорить об искусстве, о спектаклях, о театре......   >>>>
Хронология полностью...
   Содержание
Заглавная страница
Мой блог
Мое резюме
Дайджест
Программирование
  C&C++
Сети
Unix
Алгоритмы
Оптимизация
Соревнования
Отвлеченно
XML
TeX
Туризм
  Байки
Фотографии
Комментарии
  Книги
Web-ресурсы
Фильмы
Интернет
Программное обеспечение
Жизнь
Студенческое
Просто так
Благодарности
Форум
Хронология
© 2000-2008, Andrey L. Kalinin
mailto:andrey@kalinin.ru
Rambler's Top100