Рецензия на книгу Coders at Work
(предупреждение: свою копию книги я получил бесплатно от издательства)
Часто говорят о том, что производительность «сильного» программиста превышает производительность «слабого» на порядок. Не знаю, на порядок или нет, но различия в результатах работы разных программистов бесспорно огромны. Почему же они так отличаются?
Не последний из программистов, Peter Seibel, лисп-хакер и автор книги Practical Common Lisp, потратил на выяснение этой темы 600 страниц убористого текста (и ни одной иллюстрации!). Да, это я о книге Coders at Work.
Книга — собрание из 15 глав-интервью с известными и не очень разработчиками. Каждый отвечает примерно на один и тот же набор вопросов: как начал программировать, какие приемы использует в работе, как ведет отладку, как проводит отбор (собеседования), какие книги по программированию рекомендует, как менялся подход и отношение к разработке с годами.
Собственно, все. Интересной книгу делают именно личности с которыми идет интервью. Да и похоже это больше не на интервью, а на спокойный неторопливый разговор за чашкой чая. Когда читаешь, невольно сравниваешь себя, свои убеждения подходы и собеседника. Делаешь выводы.
Книга не очень «техническая», читать ее может и человек далекий от программирования, хотя ему (ей) она вряд ли будет интересна. В отличии от типичной книги для разработчиков, эта ничему «конкретному» не учит. Просто можно послушать беседу двух умных собеседников, узнать образ их мыслей и что-то для себя почерпнуть.
Интересно, насколько они разные. Кто-то не знает слово refactoring (хотя описывает подобный процесс как очень полезный в работе), кто-то считает print достаточным инструментом отладки, кто-то возлагает большие надежды на разработку все более и более «продвинутых» отладчиков.
Кто-то совсем не пишет тесты, кто-то пишет тесты на все и заставляет других разработков в команде делать так же. Наверное половина читала книги Кнута более-менее вдумчиво (кстати интервью с Кнутом тоже есть, но мне как-то показалось не интересным).
Что же делает программиста хорошим? Практика, практика, практика. Чем больше кода пишешь — тем лучше это у тебя получается. Имменно поэтому во многом программирование — дело молодых. В молодости тебя ничего не отвлекает и можно по
Где-то 3/4 говорили что читали (читают) много чужого кода и как этом им помогло в становлении себя как программиста. Многие очень серьезно относятся к design reviews & code reviews и называют это важным элементом работы.
BrendanEich (из Firefox) пользуется толковым словарем чтобы давать хорошие имена переменным и функциям. Практически никто не говорил об XP, Scrum, Agile и т.п. практиках.
Никто (кроме Кнута) не пользуется literate programming. jwz (один из разработчиков Netscape Navigator) назвал книгу о паттернах «книжкой-раскраской». Всего один или два человека хорошо отзывались о С++, зато мнение о языке Си разделились на полярные. Один из разработчиков сильно обижался на слово coder.
Среди 15 собеседников одна женщина, Fran Allen. Всю жизнь работала в IBM Research, занималась нетривиальными проблемами оптимизации компиляторов для многопроцессорных параллельных вычислений.
Кстати, не все герои книги до сих пор программируют: jwz содержит ночной клуб в Сан-Франциско, Deutch (автор Ghostscript) увлекся музыкой, еще один живет на ферме разводит овец.
Резюме: если вы любите программировать — книга вам должна понравиться. Если и не must read, то в любом случае интересное чтиво. Если вы программируете только на работе — не стоит тратить на нее свое время и деньги.
В этом же издательстве и в этом же формате книги-интервью немногим раньше вышла книга Founders at Work. Must read для aspiring entrepreneurs.
Все про українське ІТ в телеграмі — підписуйтеся на канал DOU
18 коментарів
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.