Подборка хороших книг для программистов

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


Обложка книги «»

Карьера программиста

Купить 

Автором этого пособия является Г. Макдоуэлл, основатель CareerCup и бывший сотрудник таких компаний, как Apple, Google и Microsoft. Книга предназначена для качественной подготовки к предстоящему собеседованию на позицию разработчика программного обеспечения.

Она сделана в формате «задача-решение»: почти 200 вопросов и ответов, большинство из которых автор взял из собственного опыта, покрывают всевозможные темы, в том числе алгоритмы, шаблоны проектирования и многое другое. В целом прочтение «Cracking the Coding Interview» точно не будет лишним, и это подтверждает его статус бестселлера.

Многие задачи из этой книги есть в нашем переводе в соответствующей рубрике сайта.


Обложка книги «»

24 Deadly Sins of Software Security

Купить 

В книге «24 смертных греха компьютерной безопасности» Майкл Ховард и Дэвид Лебланк, эксперты безопасности Microsoft, рассказывают о наиболее распространенных и серьезных ошибках при создании разнообразного ПО, а также соответствующих «дырах».

Рассмотрено большинство языков и платформ программирования, каждая глава посвящена отдельному типу уязвимости — «смертному греху».


Обложка книги «»

Artificial Intelligence for Games

Купить 

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

В этом пособии Ян Миллингтон, известный в игровой индустрии программист и автор серии книг, делится своим опытом создания и улучшения ИИ в самых разнообразных играх. Книга содержит множество реальных примеров, а также исходные коды популярных коммерческих реализаций алгоритмов ИИ. Большое внимание уделено разработке геймплея с упором на искусственный интеллект, реализации поведения персонажей и особенностям разработки игр-головоломок.


Обложка книги «»

Mathematics for 3D Game Programming and Computer Graphics

Купить 

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

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


Обложка книги «»

Game Programming Patterns

Читать Купить 

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

«Game Programming Patterns» — это коллекция шаблонов, делающих код (не только игр) чище, проще для понимания и быстрее. Из нее вы узнаете, как создать надежный цикл игры, как организовывать объекты и их компоненты, как использовать кэш процессора для улучшения производительности и многое другое. Вы погрузитесь в изучение не только того, как работают скриптовые движки и как их оптимизировать, но и того, как классические шаблоны проектирования могут быть использованы в разработке игр.


Обложка книги «»

Jump Start MySQL

Купить 

MySQL — супер-популярная свободная реляционная система управления базами данных, которую использует большинство интернет-сайтов.

С помощью этой книги всего за 7 дней вы сможете освоить MySQL, научиться использовать её скорость и гибкость. Вы научитесь сохранять, модифицировать и обрабатывать данные, подключать к БД свои программы, работать с таблицами, делать бекапы и многое другое.


Обложка книги «»

Head First. Программирование для Android

Купить 

Если у вас есть идея для «взрывного» Android-приложения, но вы не знаете, как её реализовать, то эта книга — то, что вам нужно. Вы узнаете, как правильно задать структуру своего приложения, создать к нему интерфейс и базу данных, а также как сделать, чтобы оно работало на самых разных смартфонах и планшетах, и многое другое.

По словам авторов, эта книга — как опытный Android-разработчик рядом с тобой. Единственное, что вам нужно для начала — небольшое знание Java.


Обложка книги «»

97 Things Every Programmer Should Know

Скачать 

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


Обложка книги «»

Эффективная работа с унаследованным кодом

Купить 

В этой книге Майкл Физерс предлагает стратегии по эффективной работе с legacy-кодом. Автор долгое время занимался наставничеством и решил поместить в книгу весь свой опыт. Прочитав её, вы узнаете, как читать, исправлять и улучшать такой код. Помимо примеров на Java, C++, C и C# в книге есть 24 способа избавления от зависимостей.


Обложка книги «»

Приёмы объектно-ориентированного проектирования

Купить 

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


Обложка книги «»

Чистый код: создание, анализ и рефакторинг

Купить 

Роберт Мартин в своём творении, опираясь на личный опыт и, что даже важнее, конкретные примеры из своей практики, рассказывает о том, как нужно кодить. Принципиальное отличие от книги Макконелла заключается в том, что здесь очень мало статистических обоснований правильности тех или иных действий, только код (занимающий почти треть книги) и рекомендации автора.


Обложка книги «»

Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем

Купить 

Эта книга отлично подойдёт тем, кто сталкивался или ещё только столкнётся с проблемно-ориентированным программированием.


Обложка книги «»

Совершенный код

Купить 

Если вы планируете построить успешную карьеру программиста, то это та книга, которую прочитать вы просто обязаны. Абсолютно неважно, в какой среде вы планируете работать, какой ваш уровень подготовки, новичок вы или уже руководитель — здесь найдётся полезная информация для каждого, кто хоть как-то связан с процессом создания кода. Совершенного кода.


Обложка книги «»

Язык программирования Си

Купить 

«Язык программирования Си» (также известна как K&R) — книга Брайана Кернигана и Денниса Ритчи, причём последний — один из непосредственных авторов и разработчиков языка Си. Книга стала основой для разработки и популяризации Си, до сих пор имеет спрос и широко используется в качестве «классического» учебника по языку. Она долгое время была единственным справочным руководством и де-факто — стандартом языка.

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


Обложка книги «»

The Pragmatic Programmer: From Journeyman to Master

Купить 

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


Обложка книги «»

Путь программиста

Купить 

Практически каждого программиста привела в профессию любовь к созиданию, удовольствие от созерцания, как символы превращаются в программы. Однако есть в этой работе и обратная сторона: высокая конкуренция, сложные отношения с клиентами, коллегами, руководством, финансовая нестабильность. Именно о тёмной стороне работы программиста и о том, как существовать в ладах со всеми этими заботами, рассказывает в своей книге Джон Сонмез.


Обложка книги «»

Структура и Интерпретация Компьютерных Программ

Купить 

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


Обложка книги «»

Алгоритмы. Построение и анализ

Купить 

Ещё одна увесистая книга по алгоритмам, впервые изданная в 1990 году в Массачусетском технологическом институте с авторством местных преподавателей. Несмотря на то, что написана она простым и понятным языком, из-за объёма и подачи материала (каждая глава имеет законченный вид) использовать лучше в качестве справочника, периодически обращаясь к нужной информации.


Обложка книги «»

Искусство программирования

Купить 

Искусство программирования — монументальный труд Дональда Кнута. Серия книг состоит из 4 томов, каждый из которых охватывает определенные виды алгоритмов. Это классика, которую до сих пор в обязательном порядке проходят в ВУЗах. Материал подан в достаточно сложном формате, но и цель у книг особенная — рассказать наиболее полно о существующих алгоритмах.


Обложка книги «»

Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию

Купить 

Не обращайте внимание на российское название — в оригинале это «Cracking the Coding Interview: 189 Programming Interview Questions and Solution», то есть просто 189 наиболее часто задаваемых вопросов на собеседованиях в крупных IT-компаниях. Ответы, разумеется, прилагаются. Помогает не только потренировать собственный мозг, но и получить представление об образе мышления в Amazon, Apple, Facebook, Google и Microsoft.

Кстати, мы часто даем разборы задач из этой книги в рубрике «Задачки» на нашем сайте.


Обложка книги «»

Жемчужины программирования

Купить 

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


Обложка книги «»

Release it! Проектирование и дизайн ПО для тех, кому не все равно

Купить 

От серьёзных и фундаментальных принципов построения кода перейдём непосредственно к практической части создания ПО, а именно юзабилити, производительности, масштабированию, администрированию и далее по списку. Здесь вас ждут реальные примеры из жизни автора, несколько типовых кодов на Java (при этом сам язык никакой роли не играет) и профессиональные советы, как общего плана, так и вполне конкретные по созданию кода.


Обложка книги «»

Кодеры за работой. Размышления о ремесле программиста

Купить 

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


Обложка книги «»

Мифический человеко-месяц

Купить 

Эта книга в США входит в список must-read любого разработчика ПО. Написана она была в далёком 1975 году, но описанные этапы, проблемы и советы по разработке ПО актуальны и по сей день. Вряд ли она будет полезна для человека, который уже несколько лет варится в профессии и на личном опыте знает об этом процессе, а вот студентам и новичкам в IT — прочитать действительно следует.


Обложка книги «»

Не заставляйте меня думать

Купить 

Если «Мифический человеко-месяц» — книга для разработчиков, то это своего рода библия для работников веб-индустрии. Как повысить производительность и привлекательность веб-сайта, советы для новичков, ветеранов и руководителей – всё это можно подчеркнуть из немного ироничной и крайне полезной книги Стива Круга.

Ещё интересное для вас:
— Тест «Насколько хорошо вы разбираетесь в C#?»
— Блиц-тест «Настоящий ли ты фронтендер?»
— Меньше готовить, больше кодить: обзор питания с доставкой на дом.