Книги

Что почитать любителям Java: подборка лучших книг

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

Anton F, 23.05.2018

Книги для начального уровня (Beginner)

Обучение всегда идет от простого к сложному. Начинать учиться рекомендуется по следующим учебникам:

Java Programming for Kids, Parents and Grandparents

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

Автор: Yakov Fain (Яков Файн).

Яков Файн – сооснователь SuranceBay и Farata Systems. Лидер Princetion Java Users Group.

Head First Java (Изучаем Java).

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

Автор: Kathy Sierra (Кэти Сьера).

JAVA, A BEGINNER’S GUIDE (JAVA РУКОВОДСТВО ДЛЯ НАЧИНАЮЩИХ).

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

Автор: Herbert Schildt (Герберт Шилдт)

Thinking in Java (Философия Java).

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

Автор: Bruce Eckel (Брюс Эккель)

THE JAVA LANGUAGE SPECIFICATION

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

Авторы: Кен Арнольд и Джеймс Гослинг.

Introduction Programming in Java

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

Автор: Robert Sedgewick (Роберт Седжвик).

Java. ООП

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

Книга «Java. Объектно-ориентированное программирование» Алексея Васильева соответствует Госстандарту и может использоваться в качестве учебного пособия в образовательных учреждениях.

Автор: Алексей Васильев.

TEST DRIVEN DEVELOPMENT
(ЭКСТРЕМАЛЬНОЕ ПРОГРАММИРОВАНИЕ: РАЗРАБОТКА ЧЕРЕЗ ТЕСТИРОВАНИЕ).

Книгу можно приобрести на русском и английском языках. В ней предлагается достаточно инновационная система программирования, активно используемая в Eclipse*. Главная задача этого пособия – научить программиста писать идеальный код, способный оптимально решать задачи, и потому ее следует изучать в самом начале своего пути, чтобы в дальнейшем не пришлось переучиваться.

Кент Бек, программист, разработчик ПО. На данный момент работает на Facebook.

Автор: Kent Beck (Кент Бек).

*Eclipse – среда разработки, изначально созданная под Java (сейчас поддерживает и многие другие языки программирования). Отличается поддержкой множества платформ. Особенно активно используется для создания приложений для смартфонов.

Книги для среднего уровня

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

LEARNING JAVA (ПРОГРАММИРОВАНИЕ НА JAVA).

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

Авторы: Патрик Нимейер и Дэниэл Леук.

`EFFECTIVE JAVA. (JAVA. ЭФФЕКТИВНОЕ ПРОГРАММИРОВАНИЕ).

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

Автор: Joshua Bloch (Джошуа Блох).

REFACTORING BOOK (РЕФАКТОРИНГ. УЛУЧШЕНИЕ СУЩЕСТВУЮЩЕГО КОДА).

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

Авторы: Кент Бек, Мартин Фаулер, Уильям Апдайк, Джон Брант, Эрих Гамма, Дон Робертс.

ALGORITHMS IN JAVA (АЛГОРИТМЫ НА JAVA).

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

Автор: Robert Sedgewick (Роберт Седжвик).

THE PRAGMATIC PROGRAMMER (ПРОГРАММИСТ-ПРАГМАТИК).

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

Авторы: Девид Томас и Эндрю Хант.

CLEAN CODE (ЧИСТЫЙ КОД).

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

Автор: Robert Martin (Роберт Мартин).

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

DESIGN PATTERN BOOK
(ПРИЕМЫ ООП).

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

Авторы: Эрих Гамма, Джон Влиссдес, Ральф Джонсон и Ричард Хелм.

SCJP SUN CERTIFIED PROGRAMMERS FOR JAVA (КНИГА ДЛЯ ПОДГОТОВКИ К ЭКЗАМЕНУ НА ПОЛУЧЕНИЕ СЕРТИФИКАТА JAVA ПРОГРАММИСТА).

Книгу можно приобрести только на английском языке. Ее нельзя назвать самоучителем или учебником. Скорее это перечень вопросов, многие из которых встречаются не очень часто. По этому пособию готовятся к экзаменам на получение сертификата программиста Java все специалисты в мире.

Авторы – Bert Bates, Kathy Sierra (Берт Бейтс, Кати Сьера).

Книги для профессионалов

Достигнув успеха в профессии, очень важно не останавливаться на достигнутом и продолжать развиваться. Популярностью у опытных программистов пользуются следующие издания:

CORE JAVA (БИБЛИОТЕКА ПРОФЕССИОНАЛА JAVA).

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

Автор – Cay S. Hortsmann (Кей С. Хортсманн).

JAVA CONCURRENCY IN PRACTICE (JAVA. КОНКУРЕНЦИЯ НА ПРАКТИКЕ).

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

Автор – Brian Goetz (Брайан Готц).

PATTERNS OF ENTERPRISE APPLICATION ARCHITECTURE (АРХИТЕКТУРА КОРПОРАТИВНЫХ ПРОГРАММНЫХ ПРИЛОЖЕНИЙ).

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

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

Авторы – Ренди Стаффорд, Роберт Ми, Эдвард Хайет, Меттью Фоммел, Дейвид Райс, Мартин Фаулер.