0. Теория тоже важна

Теория, конечно, вещь тоже очень важная. Если бы физики не систематизировали свои знания о теории, а занимались исключительно экспериментами, это, конечно, было бы очень весело, но вряд ли очень полезно! Программирование тут не исключение. На JavaRush мы сосредоточились в основном на практике и задачах, которые позволят максимально быстро добиться прогресса. Но вы можете (и мы настоятельно советуем!) черпать знания и из других источников информации, прежде всего — из книг.

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

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


1. Head First Java

Кэти Сиерра, Берт Бейтс, "Изучаем Java" (ориг. "Head-First Java")

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

Ее можно читать с любого уровня JavaRush, даже с нулевого:)


2. Thinking in Java

Брюс Эккель, "Философия Java"

Библия Java-программиста. Это не преувеличение — каждый Java-разработчик должен прочитать ее. Она довольно объемная, и тому есть причина. Такое название дано ей неспроста: здесь не только разбираются конкретные темы по языку, но и объясняется философия языка Java, его идеология; причины, по которым создатели языка сделали что-то по-своему, а не так, как в других языках.

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

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


3. Герберт Шилдт

Герберт Шилдт: "Java: полное руководство"

Эта книга также хороша для новичков. От предыдущей она отличается прежде всего манерой подачи материала: здесь она более строгая и последовательная (многие предпочитают именно такую форму подачи материала игровой). К её несомненным плюсам можно отнести "разжевывание" материала до самых мелочей, иногда — многократно.


4. Чарльз Петцольд

Чарльз Петцольд, "Код. Тайный язык информатики"

Рейтинги этой книги на Amazon (4.7/5), Ozon (5/5) и восторженные отзывы говорят сами за себя.

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

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


5. Грокаем алгоритмы

Адитья Бхаргава, "Грокаем алгоритмы".

Алгоритмы и структуры данных — тема очень важная и необходимая. Значительную часть работы программиста занимает их использование, и оно должно быть эффективным! Как, например, отсортировать по порядку 1000 чисел, записанных в случайном порядке?

На самом деле, это можно сделать кучей способов! И все они далеко не одинаково эффективны. Книг и курсов по алгоритмам и структурам данных очень много, но для людей, которые только начали изучать программирование, книга Бхаргавы однозначно является лучшей. Легкий язык, подробные объяснения с картинками и не очень большой объем — то, что нужно для начала!

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

Изучайте Java на JavaRush, читайте книги и участвуйте в жизни сообщества JavaRush, а остальное само приложится.