Разработка / Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО

Топ 5 основных книг на русском языке, которые должен прочесть каждый разработчик ПО.

Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:


Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?


Тема перевода зарубежной профессиональной IT-литературы стоит достаточно остро, многие любят читать книги в оригинале по различным причинам, таким так время выхода русского перевода с запозданием на годы, недостаточный профессионализм переводчика и соответствующая потеря тонкостей и авторского стиля и т.д.


Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.



1. Первое место с результатом ~1700 голосов заняла книга:


Совершенный код
Автор: С. Макконнелл

Тот самый Стив Макконнелл, которому приписывают фразу: "Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."

Первое издание этой книги вышло в 1993 году, второе — в 2004. Первый русский перевод — в 2005 году.

«Энциклопедия хороших практик программирования. Совершенный код фокусируется на личном искусстве, мастерстве — тех вещах, которые мы интуитивно называем writing clean code. Это та книга, которая может 50 страниц описывать правильное форматирование кода и количество пробелов». Джо Спольски.

2. Второе место с близким результатом ~1500 голосов заняла книга:

Программист-прагматик. Путь от подмастерья к мастеру
Авторы: Э. Хант, Д. Томас

Первое англоязычное издание этой книги вышло в 1999 году. Первое русское издание — в 2004 году в серии «Библиотека программиста».

«Это великая книга для программистов, которые где-то как-то научились программировать, может быть, в институте, но не совсем уверены что и как делать. Это как разница между наброском и готовым произведением. То, что вы изучали в университете — это наброски, эскизы, и вы вроде бы можете рисовать красиво, но если всё ещё чувствуете, что не вполне знаете с чего начать, если кто-то предложил вам написать программу для обмена музыкой через P2P-сети, то эта книга для вас». Джо Спольски.

3. Третье место уже со значительным отставанием ~930 голосов заняла книга:

Структура и Интерпретация Компьютерных Программ
Авторы: Харольд Абельсон, Джеральд Джей Сассман

Книга на английском языке выложена авторами в свободный онлайн доступ и даже снабжена видео-лекциями.

Структура и интерпретация компьютерных программ преподавалась в Массачусетском технологическом институте, и этот курс имел влияние на весь мир по учебным программам компьютерных наук в течение последних двух десятилетий. На stackoverflow пишут, что книга буквально просветлит нас (will enlighten you) и после нее появится стремление писать великолепные программы. И что если все остальные книги делают из нас лучшего (better) программиста, то конкретно эта — сделает из читателя программиста.

4. Четвертое место со счетом ~790 голосов заняла книга:

Язык программирования C
Авторы: Брайан Керниган, Деннис Ритчи

Честно говоря, мне не до конца ясно, почему книга об определенном языке программирования попала на столь высокое место, тем более в наше время высокоуровневых языков и фреймворков. Быть может потому, что книга Кернигана и Ритчи – это культовая книга по программированию на языке Си от создателей языка, где они рассказывают своим читателям о широких возможностях Си и особенностях, отличающих его от других языков структурного программирования. Ведь в свое время язык Си разрабатывали специально для операционной системы Unix, но созданный язык был настолько универсален, что нашел свое применение и в других сферах программирования.

5. И завершает пятёрку лидеров со счетом ~680 голосов книга:

Алгоритмы. Построение и анализ
Авторы: Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн

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

На последующих местах расположились не менее замечательные книги, такие как "Паттерны проектирования" GoF, "Рефакторинг" Мартина Фаулера, "Мифический человеко-месяц" Ф.Брукса и т.д., книги действительно отличные, все их просто невозможно перечислить в одном обзоре.

Надеюсь, данный небольшой обзор поможет кому-нибудь найти себе интересную книгу для последующего прочтения.

Немного ссылок:

Оригинальное голосование.