Джоэл о программировании. Спольски, Джоэл. Рецензия. Версия для печати 28/04/09

Джоэл Спольски. Джоэл о программировании
Название Джоэл о программировании
Автор Джоэл Спольски
Издатель: Символ-Плюс
Год: 2006
ISBN: 5-93286-063-4

Я продолжаю разгребать книги своей библиотеки, которые так и не были прочитаны в свое время. Сегодня это книга Джоэла Спольски «Джоэл о программировании» 2006 года издания (кстати сказать, недавно на русском языке вышло продолжение «Джоэл: и снова о программировании»).

Восемь месяцев назад я уже писал рецензию на книгу «Лучшие примеры разработки ПО» этого же автора, но тогда это была компиляция эссе различных (очень уважаемых) авторов, в то время как собственных статей автора не было ни одной (это при том, что Джоэл мега продуктивен на своем блоге!). На этот раз все иначе. Книга состоит только из статей Спольски опубликованных на его личном блоге и написанных им в 2000-2004 годах. 6-8 лет назад! Это огромный срок для IT индустрии! К счастью книга написана таким образом, что она практически не касается технологий и поэтому ее все еще можно назвать актуальной. Конечно, часть идей автора не выдержали проверку временем, но важно заметить что это очень маленькая часть.

Так Джоэл смеялся над MS и говорил (в 2000 году), что последняя просто сошла с ума - представив миру идею .Net. Но либо идея была так сыро представлена, либо Джоэл что-то тогда не понял, в общем он не лестно отзывался тогда и о .Net и о MS (говоря что она в упадке). Время расставило на свои места и сегодня MS в прекрасном состоянии – .Net шествует по миру. А при прочтении создается впечатление, что автор имеет какой-то зуб на своего бывшего работодателя (где он трудился на Exel), или просто скучает по былым временам.

Остальные мысли автора актуальны и до сих пор. Так меня впечатлила оценка которую каждый разработчик может дать своей компании ответив всего на 12 вопросов соответственно "Да" или "Нет":

  1. Пользуетесь ли вы системой управления версиями исходного кода?
  2. Можете ли вы выполнить сборку продукта за один шаг?
  3. Выполняете ли вы ежедневную компиляцию?
  4. Ведете ли вы базу данных ошибок в программе?
  5. Исправляете ли вы ошибки, прежде чем писать новый код?
  6. Есть ли у вас актуальная график работы?
  7. Есть ли у вас спецификации?
  8. Создали ли вы спокойные условия для работы программистов?
  9. Стараетесь ли вы использовать для работы лучшие из существующих инструментов?
  10. Привлекаете ли вы к работе тестеров?
  11. Предлагаете ли вы соискателям рабочих месть написать во время собеседования код?
  12. Проводите ли вы проверку "юзабилити" на случайных людях?

Джоэл говорит, что большинство пришедших писем (как отзыв на этот тест) содержали 2-3 бала. И не смотря, что прошло уже столько времени с 2000 года и «средняя температура по больнице» выросла, я не думаю, что средний бал перевалил за 6-7 пунктов. В то время как сам Джоэл говорит что даже 10-12 балов не дают гарантии на качество продукта и своевременность его выпуска.

Интересны также мысли автора о том, как составить и поддерживать график работ. Какой он должен быть? Спольски советует избегать навороченных продуктов вроде MS Project, а пользоваться MS Excel(может опять потому что сам работал над ним). Основные идеи следующие:

Еще он рекомендует точно понимать в каком из "пяти миров" находится ваша программа:

Это позволит точно выставить свои приоритеты в самом начале работы.

Глава "Огонь и движение" ставит вопрос о том, зачем MS так часто меняет API и технологии разработки в своих продуктах. Спольски серьезно говорит, что таким образом она запутывает разработчиков и они (повально) начинают заботиться только о собственном не отставании от прогресса, а не о создании программ, которые могут конкурировать с продуктами самой MS. Аргументы автора поверхностны, а вся глава отдает теорией заговора.

Ну и наконец, заинтересовала глава «Бикуртурализм». Она посвящена священному холивару на тему «Почему Unix никогда не станет Windows». Для начала Спольски отсылает читателя к культовой (по его мнению) книге Эрика Рэдмона "Искусство программирования для UNIX", а затем начинает упражнятся в красноречии: «Культура юникс ценит код, полезный другим программистам, что редко бывает полезным при программировании Windows. В культуре Юникс ценятся программы не выходящие из текстового режима. Там не долюбливают GUI и не любят двоичные форматы. Это вызывается тем, что программировать взаимодействие с тестовым интерфейсом гораздо проще, чем скажем, взаимодействие с GUI, что почти невозможно сделать в отсутствие некоторых прочих условий, типа встроенного языка сценариев. В юникс вы программируете для других программистов в Windows для тетушки Мардж. И тетушку Мардж можно оправдать если она считает, что программу, которая ничего не вывела, потому что успешно отработала, нельзя отличить от программы которая ничего не вывела потому что произошел сбой или программы, которая ничего не вывела, потому что не поняла ваш запрос.»

Вывод. Автор, выражает необъективное личное мнение и не стесняется этого. Не удивительно. «Джоэл о программировании» это лучшие статьи его блога. Не забывайте этого. И не бойтесь лохматого года издания – с мыслями Джоэла стоит познакомиться.

| Оставить комментарий

Комментарии

Оставить комментарий
Подписаться на комментарии


Последние статьи

Opml.xml

Rss

About

MeМеня зовут Денис Ларионов.
Работаю программистом. Мне есть что рассказать про: web-бизнес, маркетинг, программирование.

RSS

Я - Слушаю подкаст Radio-T