Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Какие книги по Java, JavaScript, Python, C++ для новичков вы можете посоветовать?

Прямая линияGeekbrains
Дмитрий Лев
  ·   · 19,0 K
Основатель и генеральный директор  · 9 нояб 2017

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

Во-первых, он откроет доступ к значительному пласту литературы, недоступной на русском. 

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

В-третьих, английский поможет находить коллег и работодателей по всему миру.

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

Java

Для новичков

Кэти Сьерра, Берт Бэйтс — Изучаем Java (2-е издание)

Это учебник, который не только рассказывает о Java в теории, но и стимулирует применять полученные знания на практике. Книга знакомит с синтаксисом и концепцией языка. Знания закрепляются примерами и тестовыми заданиями. А мотивацию читателя повышают картинки и ободряющие фразы. Издание подойдёт для быстрого старта в программировании. Единственный минус: в книге рассказывается о Java 5, хотя на вооружении у разработчиков уже Java 8. Впрочем, это не помешает вникнуть в основы языка.

Кей Хорстманн, Гари Корнелл — Java. Библиотека профессионала. Том 1. Основы

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

Герберт Шилдт — Java. Руководство для начинающих

Автор учитывает в книге все аспекты Java-разработки, которые нужно знать новичку, объясняет материал просто и понятно. В пособии есть примеры и упражнения для самопроверки. Шилдт пишет просто и динамично, а его учебник удостоен множества положительных отзывов.

Для продолжающих

Джошуа Блох — Java. Эффективное программирование

В книге содержится 57 готовых решений задач, с которыми разработчики часто сталкиваются. Блох рассказывает, что надо и что не надо делать для создания эффективного кода. Издание высоко оценил автор Java Джеймс Гослинг.

Эндрю Хант, Дэвид Томас — Программист-прагматик. Путь от подмастерья к мастеру

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

Кей Хорстманн, Гари Корнелл — Java. Библиотека профессионала. Том 2. Тонкости программирования

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

Для продвинутых

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

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

Brian Goetz — Java Concurrency in Practice

Это издание необходимо тем, кто хочет писать хороший многопоточный код. Автор рассказывает о Java SE, базовых концепциях конкуренции и потокобезопасности.

Joshua Bloch and Neal Gafter — Java Puzzlers

95 непростых задач от бывшего работника компании Sun Microsystems и Google Джошуа Блоха и Java-евангелиста Google Нила Гафтера. Задания заставят поломать голову и по-новому взглянуть на привычные коды.

JavaScript

Для начинающих

Дэвид Флэнаган — JavaScript. Подробное руководство. 6-е издание

В учебнике рассказывается о языке программирования JavaScript и прикладных интерфейсах, реализованных в веб-браузерах. Шестое издание дополнено сведениями о JavaScript в разработке приложений для Web 2.0. и охватывает стандарты ECMAScript 5 и HTML5.

Пауль Уилтон, Джереми Мак-Пик — JavaScript. Руководство программиста

Практическое руководство по созданию динамических веб-страниц с пошаговыми инструкциями.

Марейн Хавербеке — Выразительный Javascript

Автор знакомит читателя не только с JavaScript, но и с основными понятиями программирования в целом.

Для продолжающих

Джон Резиг, Беэр Бибо — Секреты JavaScript ниндзя

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

Дуглас Крокфорд — JavaScript. Сильные стороны

В книге выделены наиболее надёжные и понятные JavaScript-конструкции, которые позволяют создавать эффективный код.

Стоян Стефанов — JavaScript. Шаблоны

Автор знакомит читателя с различными шаблонами программирования на JavaScript и раскрывает особенности их использования.

Для продвинутых

Джон Резиг, Расс Фергюсон, Джон Пакстон — JavaScript для профессионалов (2-е издание)

На русском языке книга выпущена в 2017 году. Благодаря этому она содержит свежие данные о современном состоянии JavaScript, новых языковых средствах, передовых приёмах отладки и тестирования кода.

Николас Закас — JavaScript для профессиональных веб-разработчиков

Книга подойдёт для разработчиков, которые хотят сделать свои сайты и веб-приложения более удобными в использовании, а также для тех, кто хочет обратиться к JavaScript в контексте Java и C++.

Дэвид Херман — Сила JavaScript. 68 способов эффективного использования JS

Автор на понятных примерах рассказывает о 68 способах получить чистый код.

Python

Для начинающих

Марк Лутц — Изучаем Python

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

Zead Show — Learn Python the Hard Way

В книге собраны 52 упражнения для изучающих Python, выполнив которые можно понять, как устроен язык и как правильно писать программы.

Allen Downey — Think Python: How to Think Like a Computer Scientist

Пособие поэтапно знакомит новичков с азами языка. Объёмные темы для облегчения знакомства разбиты на небольшие этапы.

Для продолжающих

Mark Pilgrim — Dive into Python

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

Марк Саммерфилд — Python на практике

Это издание поможет начинающим избежать типичных ошибок новичка и повысить “элегантность кода”. А благодаря подсказкам для быстродействия кода и работы с паттернами и графиками книга пригодится и на следующем этапе погружения в Python.

Уэсли Дж. Чан — Python. Создание приложений

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

Для продвинутых

Al Sweigart — Invent Your Own Computer Games with Python (4th Edition)

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

Wes McKinney — Python for Data Analysis

Пособие рассказывает о способах обработки данных и их измерения на различных временных промежутках.

Steven Bird, Ewan Klein, Edward Loper — Natural Language Processing with Python

Авторы рассказывают о принципах обработки естественных языков, написана как гайд по библиотеке NLTK.

C++

Для новичков

Бьярне Страуструп — Программирование. Принципы и практика с использованием C++

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

Стэнли Липман, Джосе Ладжойе, Барбара Му — Язык программирования C++. Вводный курс

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

Брюс Эккель, Чак Эллисон — Философия C++. Практическое программирование

Авторы не просто перечисляют базовые понятия, необходимые для программирования на C++, они стремятся научить читателя мыслить категориями C++, объясняют, почему разработчики принимают те или иные решения.

Для продолжающих

Скотт Мейерс — Эффективное использование C++. 55 верных советов улучшить структуру и код ваших программ

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

Herb Sutter — Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions

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

Дэвид Вандевурд, Николаи Джосаттис — Шаблоны C++. Справочник разработчика

Пособие написано в соавторстве теоретиком и практиком C++. Книга полностью освещает вопросы практического использования шаблонов.

Для продвинутых

Андрей Александреску — Современное проектирование на C++

Книга представляет собой синтез обобщённого программирования, метапрограммирования шаблонов и объектно-ориентированного программирования на С++.

David Abrahams, Aleksey Gurtovoy — C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond

Пособие рассказывает о способах метапрограммирования с использованием шаблонов.

Davide Di GennaroDavide Di Gennaro — Advanced C++ Metaprogramming

Руководство по практическому применению C++ для продвинутых разработчиков, содержит множество примеров кода.

1 эксперт согласен
Котик-программист  · 10 нояб 2017
Если вы совсем-совсем новичок в этом деле, крайне советую книгу Якова Файна "Программирование на Java для детей, родителей, дедушек и бабушек". Звучит название не очень, однако в ней действительно самым простым и понятным... Читать далее

По Python читать можно Лутца, книжка от О'Рейли, розовая, с крысой.

По C++ читайте Страуструпа. Ещё хвалят Прату.

В Java, вроде, котируется Шилдт.

А в JS всё так быстро меняется, что проще читать сразу MDN (Mozilla Developers Network)