ТОП самых рекомендуемых книг по программированию

Собрали список самых рекомендуемых книг по программированию. Список не привязан к конкретным технологиям, а направлен на общее развитие и расширение кругозора IT-специалиста. Будет интересен всем, кто имеет отношение к IT.

«Чистый код. Создание, анализ и рефакторинг» | Роберт Мартин

«Чистый код. Создание, анализ и рефакторинг» | Роберт Мартин

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

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

Книга расскажет, как правильно называть переменные, как организовать класс, сколько аргументов лучше передавать в функцию и многие другие вещи. В ВУЗах и других учебных заведениях их чаще всего проходят лишь вскользь, но это именно те кирпичики, из которых складываются хорошие системы. В целом, книга must read для всех, кто так или иначе имеет отношение к программированию.

«Совершенный код» | Стив Макконнелл

«Совершенный код» | Стив Макконнелл

Обширное издание, в котором автор собрал различные методики и принципы программирования. 35 глав представляют собой сборник практических советов по проектированию, написанию кода, отладке и тестированию с большим количеством примеров и ссылками на многочисленные исследования.

«Совершенный код» более 10 лет считался одним из лучших практических руководств по программированию. В 2011 году Stack Overflow признало книгу Стива Макконнелла «самой впечатляющей книгой, которую должен прочесть каждый разработчик программного обеспечения».

Несмотря на то, что отдельные фрагменты могут показаться устаревшими, «Совершенный код» по-прежнему остается кладезью полезной информации для всех, кто имеет отношение к программированию. Однозначный must read.

«Паттерны проектирования» | Фримен Эрик, Робсон Элизабет

«Паттерны проектирования» | Фримен Эрик, Робсон Элизабет

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

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

Дополнительно: для более глубокого погружения в тему рекомендуем ресурс Рефакторинг.Гуру. Cайт посвящен рефакторингу, паттернам проектирования, принципам SOLID и другим важным темам из мира программирования. Главная цель ресурса — показать общую картину того, как все эти темы пересекаются, как работают вместе и насколько они до сих пор актуальны.

«Программист-прагматик. Путь от подмастерья к мастеру» | Э. Хант, Д. Томас

«Программист-прагматик. Путь от подмастерья к мастеру» | Э. Хант, Д. Томас

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

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

Издание будет полезно как новичкам, так и опытным программистам или менеджерам проектов.

«Искусство программирования» | Дональд Э. Кнут

«Искусство программирования» | Дональд Э. Кнут

Живая классика, фундаментальная монография, которая рассматривает и анализирует важнейшие алгоритмы, используемые в информатике. В 1999 году была признана одной из двенадцати лучших физико-математических монографий столетия.

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

«Алгоритмы. Построение и анализ» | Кормен Томас Х., Лейзерсон Чарльз И.

«Алгоритмы. Построение и анализ» | Кормен Томас Х., Лейзерсон Чарльз И.

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

«Рефакторинг. Улучшение существующего кода» | Мартин Фаулер

«Рефакторинг. Улучшение существующего кода» | Мартин Фаулер

Многие программисты руководствуются правилом «работает — не трогай». Автор книги ниспровергает это утверждение и говорит, что даже работающую программу всегда нужно улучшать путем рефакторинга.

Рефакторинг — это процесс переработки кода, который улучшает его структурную целостность, производительность и упрощает его восприятие без изменения функциональности.

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

«Гибкая разработка программ на Java и C++. Принципы, паттерны и методики» | Мартин Роберт

«Гибкая разработка программ на Java и C++. Принципы, паттерны и методики» | Мартин Роберт

Книга содержит уникальный набор актуальных методов разработки программного обеспечения. В ней рассматриваются объектно-ориентированное проектирование, UML, паттерны, приемы гибкого и экстремального программирования, а также приводится детальное описание полного процесса проектирования для многократно используемых программ. На практике показано, как разрабатывать объектно-ориентированные приложения — от ранних этапов анализа до реализации. Хоть примеры и приводятся на C++ и Java, читать можно всем.

«Карьера программиста» | Г. Лакман Макдауэлл

«Карьера программиста» | Г. Лакман Макдауэлл

Книга представляет собой квинтэссенцию сотен интервью, ответов на тысячи вопросов, которые задают соискатели в Google, Microsoft, Apple, Amazon и других всемирно известных корпорациях. Автор собрал 189 наиболее интересных и значимых задач, которые помогут подготовиться к собеседованию на должность программиста или руководителя в ведущие IT-компании мира. Рассмотрел типичные ошибки большинства кандидатов и описал наиболее эффективные методики подготовки.

Тем, кому хочется еще больше практики, рекомендуем ресурсы hackerrank.com и codewars.com. Это излюбленные многими программистами площадки, которые позволяют потренировать мозг и отточить навыки работы на языке.

«Структура и интерпретация компьютерных программ» | Абельсон Харольд, Сассман Джеральд Джей

«Структура и интерпретация компьютерных программ» | Абельсон Харольд, Сассман Джеральд Джей

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

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

ЕЩЕ ПУБЛИКАЦИИ

Меню