В интернете полно списков «Лучших книг по программированию за всё время» и многие из них советуют разные (не всегда хорошие) книги. Один программист решил узнать, какие книги рекомендуют чаще всего. Для этого он взял все эти списки, проанализировал их и выложил свою мета-подборку из 25 книг. Делимся ей с вами.
Примечание Все книги, для которых есть перевод, мы привели на русском языке. Оригинальный список можно посмотреть здесь.
Немного о методологии
Автор загуглил что-то вроде «лучшие книги по программированию» и собрал найденные ссылки. После удаления дубликатов осталось 150 штук. По заголовкам страниц автор также сразу отбросил списки книг:
- связанные с конкретной технологией/платформой;
- привязанные к конкретному году;
- состоящие только из бесплатных книг;
- а также треды с Quora и Reddit.
После этого у автора осталось 200 HTML-файлов, для которых он написал CSS-селекторы для извлечения названий книг. Наконец, он нормализовал эти названия, приведя их к общему виду, и составил этот список, исходя из частоты упоминания каждой книги.
Примечание Более подробное описание с примерами кода можно найти в оригинале статьи.
25 место
«Continuous Delivery», Jez Humble & David Farley
24 место
«Алгоритмы на Java», Роберт Седжвик, Кевин Уэйн
23 место
«Сам себе программист. Как научиться программировать и устроиться в Ebay?», Кори Альтхофф
22 место
«Rapid Development», Steve McConnell
21 место
«Кодеры за работой. Размышления о ремесле программиста», Питер Сейбел
20 место
«Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем», Эрик Эванс
19 место
«Искусство программирования», Дональд Кнут
18 место
«Структура и Интерпретация Компьютерных Программ», Абельсон Харольд, Сассман Джеральд Джейrn
17 место
«Шаблоны корпоративных приложений», Мартин Фаулер
16 место
«Жемчужины программирования», Джон Бентли
15 место
«Человеческий фактор. Успешные проекты и команды», Том Демарко, Тимоти Листер
14 место
«Алгоритмы. Построение и анализ», Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн
13 место
«Код. Тайный язык информатики», Чарльз Петцольд
12 место
«Не заставляйте меня думать. Веб-юзабилити и здравый смысл», Стив Круг
11 место
«Путь программиста», Джон Сонмез
10 место
«Карьера программиста», Г. Лакман Макдауэлл
9 место
«Приемы объектно-ориентированного проектирования. Паттерны проектирования», Эрих Гамма, Джон Влисидис, Ричард Хелм, Ральф Джонсон
8 место
«Эффективная работа с унаследованным кодом», Майкл Физерс
7 место
«Идеальный программист. Как стать профессионалом разработки ПО», Роберт Мартин
6 место
«Мифический человеко-месяц», Фредерик Брукс
5 место
«Head First. Паттерны проектирования», Эрик Фримен, Элизабет Робсон
4 место
«Рефакторинг. Улучшение существующего кода», Мартин Фаулер
3 место
«Совершенный код. Мастер-класс», Стив Макконнелл
2 место
«Чистый код. Создание, анализ и рефакторинг», Роберт Мартин
1 место
«Программист-прагматик. Путь от подмастерья к мастеру», Дейв Томас, Энди Хант