В интернете полно списков «Лучших книг по программированию за всё время» и многие из них советуют разные (не всегда хорошие) книги. Один программист решил узнать, какие книги рекомендуют чаще всего. Для этого он взял все эти списки, проанализировал их и выложил свою мета-подборку из 25 книг. Делимся ей с вами. А еще дополнительно будут бонусы в конце статьи в виде других метаподборок. Советуем нашу статью: Как научиться программировать С НУЛЯ для новичков и бесплатно.
Саму же процедуру поиска можно попытаться объективизровать, например, использовать критерий цитируемости. Такую попытку предпринял французский разработчик Пьер де Вульф. Ниже мы кратко расскажем о его методологии. Если вам интересен только список книг, переходите к следующему разделу.
Методология составления списка
Для начала Пьер сделал несколько вариаций Google-запроса «Best Programming Books». Спарсив топ поисковой выдачи и исключив дубликаты списков, Пьер получив 150 подходящих страниц. Далее из них были исключены ветки Quora и Reddit, а также списки, сфокусированные на конкретной технологии или платформе, одном конкретном языке или бесплатных онлайн-книгах.
В итоге получилось 110 HTML-файлов, для которых были определены CSS-селекторы с названиями книг. При этом удалось исключить ещё около 40 нерелевантных страниц.
Используя Python, библиотеку BeautifulSoup и найденные CSS-селекторы, Пьер извлёк текст из необходимых DOM-элементов. Получился большой список книг, требующий дополнительной обработки.
Чтобы найти самые цитируемые книги, требовалось нормализовать результаты. Например, названия книг имели разные стили оформления:
{title} by {author}
,{title} – {author}
,{title}: {subtitle}
,{title}
,- или всё подряд, включая даже номер издания.
Для обработки различных вариантов оформления была написана следующая функция:
def clean_link(link):
link = link.encode().decode('ascii', errors='ignore')
link = link.replace("'", '')
link = link.lower()
link = ' '.join([w for w in link.split(' ') if w not in ['the', 'a']])
link = link.split('by')[0]
link = link.split(':')[0]
link = link.split('(')[0]
link = ' '.join(link.split())
link = link.replace('-', '_')
link = ''.join([c for c in link if c.isalpha() or c == '_' or c == ' '])
link = link.strip()
link = link.replace(' ', '_')
link = ''.join([c for c in link if c.isalpha() or c == '_'])
return link
После её применения потребовалось немного ручной очистки. Список стал выглядеть так:
Для этого списка было уже легко вычислить наиболее часто рекомендуемые книги. Все данные, которые использовались для обработки, можно найти в GitHub-репозитории.
Мы постарались найти переводные эквиваленты указанных Пьером книг. Не всегда у хороших книг бывают достойные переводы. Поэтому также мы указываем оригинальные названия изданий.
25 самых часто рекомендуемых книг по программированию
25. Хамбл, Фарли. Непрерывное развёртывание ПО (8.8% рекомендаций)
Оригинальное название: Continuous Delivery by Jez Humble & David Farley.
В книге Джеза Хамбла и Дэвида Фарли приведены принципы и практические методы для сборки, автоматизации, тестирования и развёртывания высоконагруженных приложений. Авторы рассказывают о непрерывном интегрировании, разбиении проекта на компоненты и контроле версий. Книга ориентирована на программистов, имеющих опыт в корпоративной разработке. Рассматриваются следующие темы:
- автоматизация сборки, интеграции, тестирования и развертывания программного обеспечения;
- реализация конвейера развертывания на уровне команд и организаций;
- взаимодействие разработчиков, тестировщиков и администраторов;
- стратегии инкрементной разработки программных средств большими распределенными командами;
- эффективные стратегии управления конфигурациями;
- автоматизация приемочного тестирования – от анализа требований до реализации процессов.
24. Уэйн, Седжвик. Алгоритмы на Java (8.8% рекомендаций)
Оригинальное название: Algorithms by Robert Sedgewick & Kevin Wayne.
Книга Седжвика и Уэйна «Алгоритмы на Java» является классическим справочным руководством, содержащим необходимый объём знаний для программиста в области алгоритмов, накопленных за последние несколько десятилетий. Как следует из названия, сами алгоритмы реализованы на Java.
23. Кори Альтхофф. Сам себе программист (8.8% рекомендаций)
Оригинальное название: The Self-Taught Programmer by Cory Althoff.
Кори Альтхофф – профессиональный self-made разработчик, на собственном опыте прошедший путь от новичка до инженера программного обеспечения в компании eBay. Автор поможет пройти сложный путь от создания первой программы на Python до первого собеседования.
Книга состоит из нескольких разделов:
- основы Python 3 и разработка первых программ;
- основы объектно-ориентированного программирования;
- Git, Bash, регулярные выражения и базы данных. Использование приобретённых прежде навыков для разработки веб-скрапера;
- основы Computer Science, алгоритмов и структур данных;
- советы о работе в команде и получении первой работы.
22. Steve McConnell. Rapid Development (8.8% рекомендаций)
Единственное издание, для которого мы не нашли переводного эквивалента на русском языке. В этой книге Стив Макконнелл рассказывает о проблемах, связанных с общими стратегиями, конкретными лучшими практиками и полезными советами, которые помогают сократить и контролировать графики разработки и поддерживать стремительное развитие проектов.
21. Питер Сейбел. Кодеры за работой. Размышления о ремесле программиста (10.2% рекомендаций)
Оригинальное название: Coders at Work by Peter Seibel.
Программисты – люди не очень публичные, многие работают поодиночке или в небольших группах. Самая важная и интересная часть их работы никому не видна, потому что происходит у них в голове.
Питер Сейбел взял интервью у 15 профессионалов: Кена Томпсона, создателя UNIX, Берни Козелла, участника первой реализации сети ARPANET, Дональда Кнута, Гая Стила, Джейми Завински, Саймона Пейтон-Джонса, Питера Норвига, Дугласа Крокфорда, Джошуа Блоха, Брендана Айка, Джо Армстронга, Брэда Фицпатрика, создателя Живого Журнала, и других.
Все они «подсели» на программирование ещё в школе. Тогда, на заре зарождения отрасли, лишь в немногих учебных заведениях читались курсы по компьютерным наукам. Поэтому будущим гуру приходилось покорять профессиональные вершины самостоятельно, но всех их отличает творческое горение и полная самоотдача любимому делу. Вы узнаете, что они думают о будущем программирования и как сами научились программировать, как, по их мнению, нужно проектировать ПО, как выбор языка программирования влияет на продуктивность и можно ли облегчить выявление труднонаходимых ошибок.
20. Эрик Эванс. Предметно-ориентированное проектирование. Структуризация сложных программных систем (10.2% рекомендаций)
Оригинальное название: Domain-Driven Design by Eric Evans.
Классическая книга Эрика Эванса освещает наиболее общий, стратегический круг вопросов, связанных с объектно-ориентированной разработкой программного обеспечения. Подход автора строится на динамичном рефакторинге модели. Это позволяет достигнуть высокой степени гармонии между логикой предметной области и кодом программы, а также достаточной гибкости программной архитектуры для удобной доработки и интеграции программного обеспечения. Книга насыщена практическими примерами из реальных проектов. Из этой книги выросли концепции СQRS, BDD, onion-architecture и много других интересных идей.
19. Дональд Кнут. Искусство программирования (10.2% рекомендаций)
Оригинальное название: The Art of Computer Programming by Donald E. Knuth.
Фундаментальная монография известного американского математика и специалиста в области компьютерных наук Дональда Кнута, посвящённая рассмотрению и анализу важнейших алгоритмов, используемых в информатике. В 1999 году книга была признана одной из двенадцати лучших физико-математических монографий столетия.
18. Абельсон, Сассман. Структура и интерпретация компьютерных программ (13.2% рекомендаций)
Оригинальное название: Structure and Interpretation of Computer Programs by Harold Abelson / Gerald Jay Sussman / Julie Sussman.
Классическая книга Харольда Абельсона и Джеральда Сассмана о программировании. В Массачусетском технологическом институте использовалась как учебник для начального курса программирования. Помимо этого, книгу используют во многих американских учебных заведениях, имеющих курсы, так или иначе связанные с языком Scheme. Используя Scheme (диалект языка LISP), авторы описали основные концепции программирования, включая абстракцию (данных и исполнения), рекурсию и метаязыковую абстракцию.
17. Мартин Фаулер. Шаблоны корпоративных приложений (14.7% рекомендаций)
Оригинальное название: Patterns of Enterprise Application Architecture by Martin Fowler.
Книга описывает базовые принципы проектирования ПО для корпоративных платформ. Автор, известный специалист в области объектно-ориентированного программирования, заметил, что с развитием технологий принципы проектирования и решения общих проблем остаются неизменными, и выделил более 40 наиболее употребительных подходов, оформив их в виде типовых решений.
16. Джон Бентли. Жемчужины программирования (16.1% рекомендаций)
Оригинальное название: Programming Pearls by Jon Bentley
Как настоящие жемчужины растут из песчинок, попавших внутрь раковины и раздражают моллюска, так жемчужины творчества программистов произрастают из задач, с которыми те сталкиваются. Книга предполагает наличие у читателя опыта программирования. Рассматриваются:
- методы разработки алгоритмов;
- методы оценки производительности;
- методы оптимизации программ и экономии памяти;
- задачи сортировки, выборки, поиска.
15. ДеМарко, Листер. Человеческий фактор. Успешные проекты и команды (17.6% рекомендаций)
Оригинальное название: Peopleware by Tom DeMarco & Tim Lister.
С юмором и мудростью, обретенной за годы руководства и консультирования, Демарко и Листер демонстрируют, что сложнейшие проблемы разработки программного обеспечения имеют человеческую, а не техническую природу. Авторы дают непростые – но подкреплённые научными исследованиями – советы. Издание предназначено в первую очередь для руководителей проектов, хотя будет полезно и рядовым программистам.
14. Кормен и др. Алгоритмы. Построение и анализ (17.6% рекомендаций)
Оригинальное название: Introduction to Algorithms by Thomas H. Cormen / Charles E. Leiserson / Ronald L. Rivest / Clifford Stein.
В книге «Алгоритмы. Построение и анализ» описаны самые разнообразные алгоритмы, сочетается широкий диапазон тем с глубиной и полнотой изложения; при этом изложение доступно для читателей самого разного уровня подготовки. Каждая глава книги относительно самодостаточна и может использоваться в качестве отдельной темы для изучения. Эту книгу называют библией алгоритмов. Она зарекомендовала себя как отличное научное пособие для студентов технических вузов и всех, кто интересуется информатикой. Книга доступным языком знакомит с алгоритмами разных типов и описывает их особенности.
13. Чарльз Петцольд. Код: тайный язык информатики (19.1% рекомендаций)
Оригинальное название: Code by Charles Petzold.
Код – книга об эволюции компьютера, истории появления и становления вычислительных систем. Каждая глава наполнена необходимыми примерами и понятными иллюстрациями. Автор последовательно переходит от одной темы к другой, подробно рассказывая о принципах работы компьютера, элементарной физике, системах счисления и многом другом, так что даже у самых любопытных не остаётся никаких вопросов.
12. Стив Круг. Не заставляйте меня думать. Веб-юзабилити и здравый смысл (19.1% рекомендаций)
Оригинальное название: Don’t Make Me Think by Steve Krug.
Книга посвящена юзабилити веб-сайтов и мобильных приложений. Автор популярно, с примерами и иллюстрациями, объясняет, как сделать сайт или мобильное приложение, которым будет удобно пользоваться всем.
11. Джон Сонмез. Путь программиста (22.0% рекомендаций)
Оригинальное название: Soft Skills by John Sonmez.
Для большинства разработчиков программного обеспечения самое интересное – кодинг, а самое сложное – иметь дело с клиентами, коллегами и менеджерами и оставаться продуктивными, достигать финансовой безопасности и поддерживать себя в форме.
Эта книга показывает, что требуется для выстраивания успешной карьеры программиста, помогает IT-специалистам лучше понять свою профессию и коллег, всегда оставаться востребованным на рынке труда, целенаправленно и результативно развиваться, а также получать от любимой работы подлинное удовольствие.
10. Г. Л. Макдауэлл. Карьера програмиста (22.0% рекомендаций)
Оригинальное название: Cracking the Coding Interview by Gayle Laakmann McDowell.
Приведённые в книге вопросы с интервью являются реальными вопросами с собеседований в различных компаниях. В книге вы найдёте
- советы о том, как решить каждый из 189 вопросов;
- пять проверенных стратегий для решения вопросов по алгоритмам;
- широкий охват основных тем: производительность, структуры данных, основные алгоритмы и др.
9. Приемы объектно-ориентированного проектирования. Паттерны проектирования (25.0% рекомендаций)
Оригинальное название: Design Patterns by Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides.
Простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Демонстрируется роль паттернов в создании архитектуры сложных систем. Некоторые шаблоны уже неактуальны, так как время дает о себе знать.
Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.
8. Майкл Физерс. Эффективная работа с унаследованным кодом (26.4% рекомендаций)
Оригинальное название: Working Effectively with Legacy Code by Michael Feathers.
Автор объясняет, как быстро разбираться в унаследованном коде, как тестировать его, как правильно вносить изменения. Книга содержит множество эффективных приёмов, предназначенных специально для этих задач. В деятельность программиста входит не только создание собственных приложений и программ, но и работа с чужим кодом. Часто такая работа приносит только страдания. Поскольку стандарты написания кода в разных компаниях отличаются, понять чужой код бывает непросто, а развивать уже существующий проект бывает ещё сложнее. Автор книги научит, как работать с унаследованными системами, как их развивать и поддерживать. Вы познакомитесь с эффективными приёмами и стратегиями работы с крупными проектами.
В книге рассматриваются следующие темы:
- внутренний механизм изменений в коде;
- инструменты тестирования;
- виды неправильных зависимостей;
- использование преимуществ ООП;
- методы разрыва зависимостей и многое другое.
7. Роберт Мартин. Идеальный программист (27.9% рекомендаций)
Оригинальное название: The Clean Coder by Robert Martin.
В этой книге легендарный эксперт Роберт Мартин (более известный в сообществе как «Дядюшка Боб»), автор бестселлера «Чистый код», рассказывает о том, что значит «быть профессиональным программистом», описывая методы, инструменты и подходы для разработки «идеального ПО». Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования.
6. Фредерик Брукс. Мифический человеко-месяц, или Как создаются программные системы (27.9% рекомендаций)
Оригинальное название: The Mythical Man-Month by Frederick P. Brooks Jr.
Книга Ф. Брукса представляет собой сборник очерков, в которых последовательно обсуждаются узловые проблемы разработки крупных программных проектов: повышение производительности труда программистов, организация коллективной работы, планирование и выполнение графика реализации. Одной из главных тем книги стала идея, получившая впоследствии название «закон Брукса», о том что привнесение в проект новых сил на поздних стадиях разработки лишь отодвигает срок сдачи проекта.
Англоязычный журнал PC World поместил книгу Брукса на первое место в списке «Десять IT-книг, которые стыдно признать, что не читал» (Top Ten IT Books Never To Admit You Haven’t Read).
5. Фримен, Робсон. Head First. Паттерны проектирования (29.4% рекомендаций)
Оригинальное название: Head First Design Patterns by Eric Freeman / Bert Bates / Kathy Sierra / Elisabeth Robson.
Серия Head First, на мой взгляд, идеально подходит для новичков в области разработки. Простая подача материала, интересные и понятные примеры. В мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи и находят похожие решения. Если вы не хотите изобретать велосипед, используйте готовые шаблоны проектирования.
Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме.
4. Фаулер, Кент. Рефакторинг. Улучшение проекта существующего кода (35% рекомендаций)
Оригинальное название: Refactoring by Martin Fowler.
Книга не только показывает хороший код, но и на примере плохого объясняет, чем именно он плох. «Рефакторинг» — лучшая книга по написанию хорошего кода. Программирование привлекает множество людей своими большими возможностями в создании и распространении собственных программ и приложений. В то же время это привело к появлению большого числа плохо спроектированных программ, развитие которых трудно поддерживать из-за неудобочитаемого кода и плохой архитектуры. Мартин Фаулер описывает процесс рефакторинга, приводит замечания и показывает, где чаще всего можно найти возможности для оптимизации проекта. Если книгу Фаулера вы уже прочли, обратите внимание на «Рефакторинг с использованием шаблонов» (Refactoring to Patterns) Джошуа Кериевски.
3. Стив Макконелл. Совершенный код (42% рекомендаций)
Оригинальное название: Code Complete by Steve McConnell.
Фундаментальная книга, в которой собраны наиболее эффективные методики и принципы проектирования программного обеспечения, а также уникальный практический и академический опыт самого автора.
2. Роберт Мартин. Чистый код (66% рекомендаций)
Оригинальное название: Clean Code by Robert C. Martin.
Даже плохой программный код может работать. Но если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение».
Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого.
1. Томас, Хант. Программист-прагматик (67% рекомендаций)
Оригинальное название: The Pragmatic Programmer by David Thomas & Andrew Hunt.
Книга абстрагируется от возрастающей специализации и технических тонкостей разработки программ, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг.
Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.
Еще 10 самых рекомендуемых книг для программистов на русском языке
В свое время, подобную метаподборку делали и ребята из созвучного с нашим сайта Dev-Books, который уже не существует (часть книг совпадает со списком выше, но есть и немного другие, так как алгоритм отбора был другой). Мы оставили только не вошедшие в предыдущую подборку книги, а также удадлили совсем уже старые книги, по которым не актуально начинать обучение. Авторы проекта Dev-Books проанализировали миллионы вопросов и ответов в крупнейшем сообществе программистов Stack Overflow. В общий список вошло 5 720 книг. И они нашли книги, на которые чаще всего ссылаются разработчики.
1. «JavaScript: сильные стороны», Дуглас Крокфорд
Обязательная книга для веб-разработчиков. В ней Дуглас Крокфорд рассказывает о преимуществах языка JavaScript и учит грамотно их применять для создания эффективного кода.
2. «Язык программирования C», Брайан У. Керниган, Деннис М. Ритчи
Классическое учебное пособие по языку C, написанное его же создателями. Однако начинающим эта книга может показаться сложной, поскольку требует от читателя знания основ программирования.
3. «Эффективное использование С++. 55 верных способов улучшить структуру и код ваших программ», Скотт Майерс
Книга содержит советы по проектированию программ, работе с шаблонами и управлению ресурсами, а также другие рекомендации по созданию качественного ПО на языке С++.
4. «Экстремальное программирование: разработка через тестирование», Кент Бек
Автор на примерах описывает методику разработки ПО, которая предполагает тестирование программ ещё до написания их кода.
5. «Регулярные выражения», Джеффри Фридл
Издание об эффективной работе с текстом в Perl, PHP, Java, Python, Ruby и других языках программирования.
6. «CLR via C#. Программирование на платформе Microsoft.NET Framework 4.5 на языке C#», Джеффри Рихтер
Классический учебник по разработке приложений для платформы Microsoft, в том числе с помощью Silverlight, Windows Presentation Foundation, ASP.NET и прочих технологий компании.
7. «Современное проектирование на C++», Андрей Александреску
Книга для опытных программистов на C++. Автор предлагает новый подход к разработке, сочетающий метапрограммирование шаблонов, обобщённое программирование и объектно-ориентированное программирование на этом языке.
8. «Шаблоны тестирования xUnit. Рефакторинг кода тестов», Джерард Месарош
Автор книги показывает, как применять шаблоны проектирования, исключение повторений, инкапсуляцию и другие принципы разработки ПО к написанию кода тестов.
9. «Компиляторы. Принципы, технологии и инструментарий», Альфред В. Ахо и другие
Книга описывает базовые принципы разработки компиляторов и делает особый акцент на оптимизации кода. В помощь читателю — большое количество примеров из практики.
10. «Инфраструктура программных проектов. Соглашения, идиомы и шаблоны для многократно используемых библиотек .NET», Кржиштоф Цвалина, Брэд Абрамс
Издание содержит лучшие приёмы разработки библиотек для платформы Microsoft .NET Framework. Книга должна упростить работу любого .NET-специалиста, который пишет код для других разработчиков.
Некоторые ссылки на книги для программистов из списков выше и не только:
Чистый код. Создание, анализ и рефакторинг, Роберт К. Мартин
Кажется, это тот случай, когда даже не совсем правильный перевод названия книги (в оригинале «Clean Code: A Handbook of Agile Software Craftsmanship»), вполне чётко отражает её содержимое. Роберт Мартин в своём творении, опираясь на личный опыт и, что даже важнее, конкретные примеры из своей практики, рассказывает о том, как нужно кодить. Принципиальное отличие от книги Макконелла заключается в том, что здесь очень мало статистических обоснований правильности тех или иных действий, только код (занимающий почти треть книги) и рекомендации автора.
Программист-прагматик. Путь от подмастерья к мастеру, Эндрю Хант, Дэвид Томас
Ещё один представитель программистской литературы, где на трёхстах страницах методично описываются основные принципы создания качественного кода и условия, при которых вы будете получать удовольствие от работы, а клиент от результатов. Написана книга приятным языком, поэтому много времени на её освоение не уйдёт.
Путь программиста, Джон Сонмез
Практически каждого программиста привела в профессию любовь к созиданию, удовольствие от созерцания, как символы превращаются программы. Однако есть в этой работе и обратная сторона: высокая конкуренция, сложные отношения с клиентами, коллегами, руководством, финансовая нестабильность. Именно о тёмной стороне работы программиста и о том, как существовать в ладах со всеми этими заботами, рассказывает в своей книге Джон Сонмез.
Алгоритмы. Построение и анализ, Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
Ещё одна увесистая книга по алгоритмам, впервые изданная в 1990 году в Массачусетском технологическом институте с авторством местных преподавателей. Несмотря на то, что написана она простым и понятным языком, из-за объёма и подачи материала (каждая глава имеет законченный вид) использовать лучше в качестве справочника, периодически обращаясь к нужной информации.
Release it! Проектирование и дизайн ПО для тех, кому не все равно, Майкл Нейгард
От серьёзных и фундаментальных принципов построения кода перейдём непосредственно к практической части создания ПО, а именно юзабилити, производительности, масштабированию, администрированию и далее по списку. Здесь вас ждут реальные примеры из жизни автора, несколько типовых кодов на Java (при этом сам язык никакой роли не играет) и профессиональные советы, как общего плана, так и вполне конкретные по созданию кода.
Кодеры за работой. Размышления о ремесле программиста, Питер Сейбел
Если вам когда-нибудь хотелось подсмотреть за работой других программистов высокого полёта, то это книга придётся вам по душе. Пятнадцать человек в формате живого общения расскажут об отношении к профессии, о будущем программирования и дадут конкретные практические советы.
Включать сюда Дональда Кнута… с его Искусством программирования, ну такое
Не хватает еще «Грокаем Алгоритмы», поддерживаю комментаторов
Лучший топ книг для программистов!
«Программист-прагматик» точно всем настоящим программистам стоит почитать.
Лучший топ книг по программированию, который я вообще когда-то видел! Хотел приписать еще одну книгу, а потом увидел ее в списке) Но все же добавлю: для новичков «Грокаем Алгоритмы» Адитья Бхаргава еще стоит почитать, а то тут по алгоритмам уже серьезные прям книги!
Лучшая подборка! купил себе «Чистый код» и «Грокаем алгоритмы», спасибо за рекомендации!
Нужна цель для изучения программирования, решение всяких тестов и просмотр видосов — полная фигня, сужу по себе — главное практика — делайте свой проект и гуглите просто по мере возникновения вопросов. Так и научитесь программировать.
Эти книги рекомендовали программисты уже очень давно. Вообще всем правда советую книги от издательства Орейли (O’Reilly), только смотрите на год издания — это очень важно! Чем свежее книга — тем лучше. Это ведь программирование — здесь это реально важно, ну только если вы не покупаете книгу по фундаментальной какой фиче типа алгоритмов, там как раз берите из списка выше — ничего лучше этого списка тогда не найдете.
Это реально топовые книги для любого программиста! Спасибо!?
Хороший топ книг, прогеры правда сейчас нифига не читают кроме спецификаций и доков на сайте фреймверков.
Хорошие книги для программистов, но немного солянка действительно, тут и про управление и про хард-скилы.
Я книгу Корри Альтхоффа прикупил — она самая дешевая из всего вашего топа программистких книг)))