ТОП-30 лучших книг по программированию
Для того, чтобы начать свой путь в IT-индустрии и постоянно оставаться хорошим сотрудником, который находится в курсе всех мировых тенденций, необходимо не только знать те или иные языки, но и постоянно развивать свои навыки, находясь в непрерывном обучении. Книги для программистов станут бесценным источником информации.
Чистый код: создание, анализ и рефакторинг
Автор: Роберт Мартин
Книга посвящена хорошему программированию. Она полна реальных примеров кода. состоит из трех частей. В первой части излагаются принципы, паттерны и приемы написания чистого кода; приводится большой объем примеров кода. Вторая часть состоит из практических сценариев нарастающей сложности. Каждый сценарий представляет собой упражнение по чистке кода или преобразованию проблемного кода в код с меньшим количеством проблем. Третья часть книги – концентрированное выражение ее сути. Она состоит из одной главы с перечнем эвристических правил и «запахов кода», собранных во время анализа.
Приемы объектно-ориентированного проектирования. Паттерны проектирования
Авторы: Эрих Гамма, Ральф Джонсон и Джон Влиссидес
В книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог.
Программист-фанатик
Автор: Фаулер Чад
Книга представляет собой сборник практических советов и рекомендаций, касающихся ситуаций, с которыми порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами и многих других. Подобные знания обычно приходят лишь в результате многолетнего опыта реальной работы.
Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих
Автор: Адитья Бхаргава
Автор книги не просто показывает примеры таких решений с детальными иллюстрациями, но и учит читателя самостоятельно находить их в дальнейшем. Читатель знакомится с понятиями бинарного поиска, массивами, связанными списками, структурами данных, рекурсией. Издание рассчитано на тех, кто уже знаком с основными азами программирования и интересуется алгоритмическими решениями. Автор старается доносить информацию понятным даже новичку языком, иллюстрирует все основные моменты.
Хакинг. Искусство эксплойта
Автор: Джон Эриксон
Каждый программист по сути своей — хакер. Ведь первоначально хакингом называли поиск искусного и неочевидного решения. Понимание принципов программирования помогает находить уязвимости, а навыки обнаружения уязвимостей помогают создавать программы, поэтому многие хакеры занимаются тем и другим одновременно. Интересные нестандартные ходы есть как в техниках написания элегантных программ, так и в техниках поиска слабых мест.
Эффективная работа с унаследованным кодом
Автор: Майкл Физерс
Майкл Физерс предлагает полноценные стратегические приемы эффективной работы с крупными базами унаследованного нетестированного кода. В основу этой книги положен материал, подготовленный автором к известным семинарам, организуемым компанией Object Mentor, включая приемы, которым автор обучил сотни разработчиков, технических руководителей и тестирующих программное обеспечение подчинять себе непослушные унаследованные системы.
Экстремальное программирование. Разработка через тестирование
Автор: Бек Кент
Впервые введение в геймдизайн, прототипирование и геймдев объединены в одну книгу. Кросс-платформенная разработка Unity позволяет создать игру, а затем с легкостью портировать куда угодно – от Windows и Linux до популярных мобильных платформ.
Программирование на C# для начинающих. Особенности языка
Автор: Алексей Васильев
Вторая книга известного российского автора самоучителей по программированию, посвященная особенностям языка С# и его практическому применению. Из нее вы узнаете, какие основные структурные единицы языка существуют, научитесь писать программы, используя все основные методы и интерфейсы, и овладеете одним из самых востребованных и популярных языков семейства С.
Алгоритмы. Разработка и применение
Авторы: Джон Клейнберг и Ева Тардос
Одна из самых авторитетных книг по разработке и использованию алгоритмов. Алгоритмы — это основа программирования, определяющая, каким образом программное обеспечение будет использовать структуры данных. Вы познакомитесь с базовыми аспектами построения алгоритмов, основными понятиями и определениями, структурами данных, затем перейдете к основным методам построения алгоритмов, неразрешимости и методам решения неразрешимых задач, и, наконец, изучите рандомизацию при проектировании алгоритмов.
Android. Программирование для профессионалов
Автор: Билл Филлипс
Третье издание познакомит читателей с интегрированной средой Android Studio, которая сильно облегчает разработку приложений. Они не только изучат основы программирования, но и узнают о возможностях самых распространенных версий Android; новых инструментах, таких как макеты с ограничениями и связывание данных, модульном тестировании, средствах доступности, архитектурном стиле MVVM, локализации, новой системе разрешений времени выполнения.
Язык программирования C
Авторы: Брайн Керниган и Деннис Ритчи
Книга является как практически исчерпывающим справочником, так и учебным пособием по самому распространенному языку программирования. Предлагаемое второе издание книги было существенно переработано по сравнению с первым в связи с появлением стандарта ANSI C, для которого она частично послужила основой. Не рекомендуется для чтения новичкам; для своего изучения она требует знания основ программирования и вычислительной техники.
Изучаем Python. Том 1
Автор: Марк Лутц
В книге представлены основные типы объектов в языке Python, порядок их создания и работы с ними, а также функции как основной процедурный элемент языка. Рассматриваются методы работы с модулями и дополнительными объектно-ориентированными инструментами языка Python — классами. Включены описания моделей и инструкций обработки исключений, а также обзор инструментов разработки, используемых при создании крупных программ.
Программирование. Delphi. Учебное пособие
Авторы: Ирина Нагаева и Игорь Кузнецов
Основная цель книги — сформировать у студентов понимание ключевых аспектов объектно-ориентированного программирования (ООП) на языке Delphi, достаточное для практического использования в дальнейшем обучении и в работе. Для достижения этой цели авторы предлагают решения задач различной степени сложности, которые демонстрируют возможности среды разработки Delphi.
Программирование на Java
Авторы: Патрик Нимейер и Дэниэл Леук
Если вы — начинающий программист, то книга станет незаменимым помощником для того, чтобы стать профессионалом, а если у вас уже есть опыт работы – вы узнаете о многочисленных тонкостях и разберетесь в самых новых средствах для создания приложений и сервисов. Описаны новинки, появившиеся в Java 8.
Программирование на C++ в примерах и задачах
Автор: Алексей Васильев
Книга включает в себя полный набор сведений о языке C++, необходимых для успешного анализа и составления эффективных программных кодов. Материал излагается последовательно и дополняется большим количеством примеров, практических задач и детальным разбором их решений. К каждому разделу прилагается обширный список задач для самостоятельного решения.
Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5
Автор: Робин Никсон
Книга поможет освоить динамическое веб-программирование с применением самых современных технологий. Она наполнена ценными практическими советами, содержит подробный теоретический материал. Для закрепления материала автор рассказывает, как создать полнофункциональный сайт, работающий по принципу социальной сети, включая рассказ о React.js.
Совершенный код. Мастер-класс
Автор: Стив Макконнелл
Книга полностью обновлена с учетом современных тенденций и технологий и дополнена сотнями новых примеров, иллюстрирующих искусство и науку программирования. Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО — с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство.
Совершенный алгоритм. Основы
Автор: Тим Рафгарден
В этой книге автор расскажет об асимптотическом анализе, нотации большое-О, алгоритмах «разделяй и властвуй», рандомизации, сортировки и отбора. Книга «Совершенный алгоритм» адресована тем, у кого уже есть опыт программирования. Вы перейдете на новый уровень, чтобы увидеть общую картину, разобраться в низкоуровневых концепциях и математических нюансах.
Автоматное программирование
Авторы: Надежда Поликарпова и Анатолий Шалыто
В книге рассматривается автоматное программирование — подход к разработке программных систем со сложным поведением, основанный на модели автоматизированного объекта управления (расширении конечного автомата). Он позволяет создавать качественное программное обеспечение для ответственных систем, охватывая все этапы его жизненного цикла и поддерживая его спецификацию, проектирование, реализацию, тестирование, верификацию и документирование.
Oracle для профессионалов. Архитектура, методики программирования и основные особенности версий 9i, 10g, 11g и 12c
Авторы: Кайт Томас и Дарл Кун
Универсальный источник глубоких знаний о проектировании, разработке и администрировании приложений Oracle. В третьем издании продолжается исследование применения баз данных Oracle для построения масштабируемых приложений, которые эффективно функционируют и создают корректные результаты. Том Кайт и Дарл Кун придерживаются простой философии: вы можете трактовать базу данных Oracle как черный ящик и только помещать туда данные или же вы можете полностью разобраться в ее работе и эксплуатировать как мощную вычислительную среду.
SQL: Руководство по изучению языка
Автор: Крис Фиайли
Книга посвящена языку программирования SQL, применяемому для работы с реляционными базами данных. Обсуждается версия языка ANSI SQL-92 (SQL2). Все конструкции подробно описываются и иллюстрируются большим количеством примеров. Кроме того, для каждого типа запросов рассматриваются отклонения от стандарта в реализации наиболее распространенных СУБД: MS Access, MS SQL Server, Oracle, MySQL и PostgreSQL.
Чистая архитектура. Искусство разработки программного обеспечения
Автор: Роберт Мартин
Автор дает прямые и лаконичные ответы на ключевые вопросы архитектуры и дизайна. «Чистую архитектуру» обязаны прочитать разработчики всех уровней, системные аналитики, архитекторы и каждый программист, который желает подняться по карьерной лестнице или хотя бы повлиять на людей, которые занимаются данной работой.
Разработка интеллектуальных систем
Автор: Джефф Хултен
Книга научит, как создавать интеллектуальные системы от начала до конца и использовать машинное обучение на практике. Вы узнаете, как эффективно применять свои навыки разработки программного обеспечения, науки о данных, машинного обучения и управления проектами. Издание основано на более чем десятилетнем опыте создания интеллектуальных систем, которые обеспечивают сотни миллионов взаимодействий пользователей в день в некоторых из крупнейших и наиболее важных программных систем в мире.
Структура и Интерпретация Компьютерных Программ
Авторы: Харольд абельсон и Джеральд Джей Сассман
Книга посвящена описанию различных систем программного синтаксиса, анализу перехода от набора алгоритмов к программному коду. Значительное место уделяется обсуждению набора «элементарных программ», использующихся в качестве элементов конструкции программ более высоких уровней сложности, оптимизации соотношения их «веса» и эффективности. Особое внимание авторы уделяют анализу проблемы взаимодействия компьютера как физического объекта и программного кода, обеспечивающего информационную составляющую вычисления.
Пользовательские истории. Искусство гибкой разработки ПО
Автор: Джефф Паттон
В книге рассказано, как правильно использовать данную технику, чтобы сфокусироваться на поставленной задаче и пожеланиях клиента, а не распыляться на реализации второстепенных функций. Автор показывает, как данный подход не только ускоряет и систематизирует разработку, но и улучшает взаимопонимание в команде.
Алгоритмы. Построение и анализ
авторы: Томас Кармен и Чарльз Лейзерсон
В книге описаны самые разнообразные алгоритмы, сочетается широкий диапазон тем с глубиной и полнотой изложения; при этом изложение доступно для читателей самого разного уровня подготовки. Каждая глава книги относительно самодостаточна и может использоваться в качестве отдельной темы для изучения. Алгоритмы описаны простым человеческим языком и с применением псевдокода, который понятен любому, кто хоть в небольшой степени знаком с программированием, а пояснения принципов их работы даны без излишней математической строгости и требуют лишь элементарных знаний.
Git для профессионального программиста
Авторы: Бен Штрауб и Скотт Чакон
Обновленное руководство по использованию Git в современных условиях. С тех пор как проект Git — распределенная система управления версиями — был создан Линусом Торвальдсом, прошло много лет, и система Git превратилась в доминирующую систему контроля версий, как для коммерческих целей, так и для проектов с открытым исходным кодом.
HTML и CSS. Разработка и дизайн веб-сайтов
Автор: Джон Дакетт
Эта книга — самый простой и интересный способ изучить HTML и CSS. Независимо от стоящей перед вами задачи: спроектировать и разработать веб-сайт с нуля или получить больше контроля над уже существующим сайтом, эта книга поможет вам создать привлекательный, дружелюбный к пользователю веб-контент. Простой визуальный способ подачи информации с понятными примерами и небольшим фрагментом кода знакомит с новой темой на каждой странице.
Новая большая книга CSS
Автор: Дэвид Макфарланд
Полностью переработанное четвертое издание этой книги поможет вам поднять навыки работы с HTML и CSS на новый уровень; оно содержит множество ценных советов, описаний приемов, а также инструкции, написанные в стиле справочного руководства. Веб-дизайнеры, как начинающие, так и опытные, при помощи этой книги быстро научатся создавать красивые веб-страницы, которые молниеносно загружаются как на ПК, так и на мобильные устройства.
Заключение
Итак, вы узнали про 30 книг по программированию. На все из них понадобятся сразу — выберите определенный язык или аспект программирования и изучите его. Это обязательно пригодится.
Напишите первую строчку кода уже сегодня!