Идеальная подборка книг для разработчиков

0
8761

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

 

Предисловие

Это перевод статьи известного зарубежного iOS разработчика Йогева Ситтона, который, опираясь на более чем десятилетний опыт разработки приложений, составил  лучшую, по его мнению, подборку книг по программированию.

Я уже довольно долго занимаюсь разработкой. Начав с веба в 2004, я стал full-stack разработчиком в 2009 и с 2013 занимаюсь созданием приложением под iOS.

Я погрузился в разработку, прочитав три книги, — одну о HTML, одну о CSS и одну о SQL. Остальное я искал в гугле, на Stack Overflow или в блогах. В этом вся прелесть интернета – он позволял мне, как начинающему разработчику, читать по пять статей ежедневно. Там действительно можно найти качественную информацию подходящего вам уровня БЕСПЛАТНО!

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

Однако оставалась одна вещь, которой мне все еще не хватало – больше книг о разработке. Но список «Обязательных книг для любого разработчика» был не мал. Список таких списков был ничуть не меньше.

Каждая книга хороша по-своему, но их уж слишком много, чтобы успеть прочитать за всю жизнь. Может быть, даже за две. Этот факт может слегка угнетать, и именно из-за него я не мог прочитать свою первую книгу, уже став профессионалом. Похоже, что не я один.

Список книг

Я углубился в изучение этой проблемы и, найдя в общем счете 18 подобных списков, составил один «идеальный», отсортировав его по количеству упоминаний.

Эти книги не сделают из вас великих разработчиков, это сделает применение полученных вами знаний наряду с приобретаемым опытом. Я сам стараюсь читать хотя бы одну из этих книг каждые два месяца.

Весь список состоит из 139 книг, которые доступны по ссылке внизу страницы. Книги, упомянутые в этой статье, являются лучшими в этой огромной подборке. Хотите предложить другие списки, которые я пропустил? Оставьте соответствующий комментарий, и я их добавлю.

В этом списке вы не найдете книгу о том, как стать Java-разработчиком, зато можете найти книгу, в которой примеры решений будут написаны на Java, что позволит лучше понять всю тему. Вы можете найти книгу по определенному языку, которая подойдет и разработчикам, пишущим на других языках. Я также добавил сюда книги, отвлеченные от разработки, которые, впрочем, считаются полезными для разработчиков (например, «Мифический человеко-месяц, или Как создаются программные системы»).

Итак, без дальнейших отлагательств, я рад представить вам:

Идеальную подборку книг для разработчиков (в порядке возрастания частоты упоминаний)

Популярные технологии разработки

Design Patterns: Elements of Reusable Object-Oriented Software (Приёмы объектно-ориентированного проектирования. Паттерны проектирования)

Design Patterns

Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидс

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

 

 

 

 

 

 

Code: The Hidden Language of Computer Hardware and Software (Тайный язык информатики)

The Hidden Language of Computer Hardware and Software

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

 

 

 

 

 

 

 

 

Working Effectively with Legacy Code (Эффективная работа с унаследованным кодом)

Working Effectively with Legacy Code

Майкл Физерс

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

 

 

 

 

 

Командная разработка

 

Peopleware: Productive Projects and Teams (Человеческий фактор: успешные проекты и команды)

Peopleware

Том ДеМарко, Тим Листер

Книга, взорвавшая все то, что было до этого известно в области управления разработкой программного обеспечения. Если вы всегда хотели стать настоящим боевым тим-лидером, эта книга для вас.

 

 

 

 

 

 

 

Patterns of Enterprise Application Architecture (Архитектура корпоративных программных приложений)

Patterns of Enterprise Application Architecture

Мартин Фаулер

Научитесь избегать частых ошибок в работе с кодом. Книга изобилует примерами того, когда лучше использовать (или не использовать) тот или иной паттерн. Ее визитная карточка – это каталог шаблонов весьма серьезного уровня.

 

 

 

 

 

 

Introduction to Algorithms (Алгоритмы: построение и анализ)

Introduction to Algorithms

Томас Кормен, Чарльз Лейзерсон, Рональд Ривест и Клиффорд Штайн

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

 

 

 

 

Рефакторинг и оптимизация

 

 

Clean Code: A Handbook of Agile Software Craftsmanship (Чистый код. Создание, анализ и рефакторинг)

Clean Code

Роберт Мартин

Книга, делящая ваш мир кодинга на «до» и «после». Единственная в своем роде. Лучший способ избавиться от вредных привычек в программировании.

 

 

 

 

 

 

 

Refactoring: Improving the Design of Existing Code (Рефакторинг: улучшение существующего кода)

Refactoring: Improving the Design of Existing Code

Мартин Фаулер

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

 

 

 

 

 

 

Философия кодинга

 

The Mythical Man-Month (Мифический человеко-месяц, или Как создаются программные системы)

The Mythical Man-Month

Фредерик Брукс

Переработанная и исправленная классика, не подвергнутая влиянию времени. Необходимо к прочтению, если вы связаны с разработкой и хотите задуматься над психологической стороной разработки. Практически единственная классическая книга в этой области.

 

 

 

 

 

 

 

The Pragmatic Programmer: From Journeyman to Master (Программист-прагматик. Путь от подмастерья к мастеру)

The Pragmatic Programmer: From Journeyman to Master

Эндрю Хант, Девид Томас

Эта книга не только изменит ваши привычки при написании кода, но и вас, как программиста. Она наполнена практическими советами о том, как получить максимум от кода и вас самих. Насколько новаторская ли это книга? Достаточно, чтобы запустить целую издательскую кампанию. Если вам как-то удалось не прочитать ее, сделайте это сейчас.

 

 

 

 

 

Code Complete: A Practical Handbook of Software Construction

Code Complete: A Practical Handbook of Software Construction

Стив МакКонелл

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

 

 

 

 

 

Весь список состоит из 139 книг и рекомендаций к ним. Вы можете ознакомиться с ним по ссылке.