Система Orphus

Джоэл о программировании

Автор: Джоэл Спольски
Издательство: "Символ-Плюс", 2006
352 страницы
ISBN: 5-93286-063-4
ISBN: 1-59059-389-8

Материал предоставил: Сергей Тепляков
Найти в магазинах

Аннотация

Содержание
Комментарии

Аннотация

Книга представляет собой подборку эссе, опубликованных автором на его сайте joelonsoftware.com. Талант и глубокое проникновение в суть предмета сделали Джоэла мастером своего дела, а остроумие и едкий юмор принесли сайту скандальную известность среди программистов. Затронуты практически все вообразимые аспекты создания ПО от лучших способов устройства рабочего места программиста до лучших способов написания программного кода. Издание адресовано широкому кругу читателей - и тем, кто собирается руководить программистами, и самим программистам - как приверженцам Microsoft, так и сторонникам открытого кода.

Содержание

Об авторе
Благодарности
Введение

Часть I. Биты и байты: практика программирования
Глава 1. Выбор языка
Глава 2. Обращаясь к основам
Глава 3. Тест Джоэла: 12 приемов написания лучшего кода
Глава 4. Что каждый разработчик ПО должен(!) знать о Unicode и таблицах кодировки
Глава 5. Безболезненное составление функциональных спецификаций. Часть 1: стоит ли мучиться?
Глава 6. Безболезненное составление функциональных спецификаций. Часть 2: что есть спецификация?
Глава 7. Безболезненное составление функциональных спецификаций. Часть 3: но… как?
Глава 8. Безболезненное составление функциональных спецификаций. Часть 4: советы
Глава 9. График работ без всяких хлопот
Глава 10. Ежедневная сборка - лучший друг программистов
Глава 11. Тотальное уничтожение ошибок
Глава 12. Пять миров
Глава 13. Создание прототипов на бумаге
Глава 14. Не дайте астронавтам от архитектуры запугать себя
Глава 15. Огонь и движение
Глава 16. Мастерство
Глава 17. Три ложных постулата информатики
Глава 18. Бикультурализм
Глава 19. Отчеты об авариях от пользователей - автоматически!

Часть II. Руководство разработчиками
Глава 20. Справочник бойца по проведению собеседования
Глава 21. Поощрительные выплаты - это зло
Глава 22. Пять (неуважительных) причин, по которым у вас нет тестеров
Глава 23. Многозадачность придумана не для разработчиков
Глава 24. То, чего делать нельзя, часть первая
Глава 25. Секрет айсберга
Глава 26. Закон дырявых абстракций
Глава 27. Лорд Пальмерстон о программировании
Глава 28. Оценки производительности труда

Часть III. Мысли Джоэла: случайные высказывания по не столь случайным поводам
Глава 29. Рик Чэпмен в поисках глупости
Глава 30. А какую работу делают собаки в вашей стране?
Глава 31. Как делать дело, если вы всего лишь рядовой
Глава 32. Две истории
Глава 33. Биг-Маки против "Голого повара"
Глава 34. Все не так просто, как может показаться
Глава 35. В защиту синдрома "это придумали не здесь"
Глава 36. Первое письмо о стратегии: Ben & Jerry's против Amazon
Глава 37. Второе письмо о стратегии: что сначала - курица или яйцо
Глава 38. Третье письмо о стратегии: пустите меня обратно!
Глава 39. Четвертое письмо о стратегии: bloatware и миф 80/20
Глава 40. Пятое письмо о стратегии: экономика Open Source
Глава 41. Неделя буйства закона Мерфи
Глава 42. Как Microsoft проиграла войну API

Часть IV. Немного много о .NET
Глава 43. Microsoft спятила
Глава 44. Наша стратегия .NET
Глава 45. Простите, сэр, можно мне взять компоновщик?

Часть V. Приложение
Лучшие вопросы и ответы с Ask Joel

Комментарии

Сергей Тепляков

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

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

Часто попадаются книги, в которых на сотнях страниц расписываются проблемы тестирования, польза составления графика работ, правила проведения собеседований или необходимость ежедневной сборки. Вроде бы и написано много, и тема интересная, и куча закладок в книге, и изрисована она карандашом вдоль и поперек, а в итоге в голове пусто. Нечего рассказать коллегам, не понятно, что же можно применить на практике. Именно этим книга Джоэла отличается от других. Если он рассказывает о пользе функциональных спецификаций, то так, что уже на следующий день вы смело можете применять эти знания на практике. Если речь идет о графике работ, то приводятся реальные примеры, и вы интуитивно понимаете, что да, это действительно может сработать. После прочтения "Теста Джоэла" вы будете проходить его для своей организации и всех компаний, где вы работали. Получите в каждом из них по три балла и будете думать о том, как же улучшить этот показатель. Когда Джоэл рассказывает о пользе ежедневных сборок (а вы не знаете, что это такое, или знаете, но лишь в теории), то вы сразу же думаете, кто из вашей команды может этим заняться. Ну а после прочтения "Справочника бойца по проведению собеседования" вы печатаете его в десяти экземплярах, раздаете его всем своим коллегам и с нетерпением ждете очередного собеседования, чтобы опробовать его на практике.

Первый вопрос, который может возникнуть у простого программиста, что книга предназначена для менеджеров проектов, а простому программисту она ни к чему. И будете не правы. Джоэл дает четкие советы о том, как простой программист можем многое изменить в работе своей команды. Конечно, книга не сделает из вас супер программиста за две недели, да и наличие этой книги на полке не переведет вас автоматически в менеджеры, но может здорово повысить как вашу личную эффективность, так и эффективность вашей команды.

Далеко не каждая страница книги носит практический характер. Многие из них являются философскими и заставляют задуматься над вопросами, которые рано или поздно посещают наши светлые головы. Как часто мы сталкиваемся с разными священными войнами, типа Windows vs Unix, C++ vs C# и многих других? У Джоэла есть интересные мысли на этот счет. Это не значит, что он знает, что на самом деле лучше. Он просто говорит о том, что есть такая вещь, как культурные особенности, или о том, что нет унивесальных средств, подходящих в любых ситуациях. Ему можно верить или не верить, это зависит от ваших культурных традиций, опыта и много другого. Но всегда полезно посмотреть на вещи немного с другой точки зрения. Нельзя сказать, что книга идеальна, что все главы одинаково сильные и интересные. Иногда автора заносит и он приводит не самые удачные примеры, за которыми сложно уловить его исходный замысел. Есть темы, которые были актуальны именно в момент написания статей, а сейчас уже стали историей. Но таких глав меньшинство и они нисколько не портят впечатление.

Отдельно следует отметить издательство Символ и научного редактора. Качество издания находится на высоком уровне, к переводу сложно предъявить какие-либо претензии, а примечания научного редактора зачастую не менее полезны, чем замечания Джоэла.

Вердикт: must read.

Перевод: отлично.