Небольшой лайфхак перед чтением: по возможности, читать эти книги на языке оригинала, поскольку многие имеют неточности и огрехи в переводе. А главное, помнить, что никакая самая хорошая книга не превратит вас в разработчика — поможет только практика.
«JAVA. Руководство для начинающих. Современные методы создания, компиляции и выполнения программ на JAVA» — Герберт Шилдт
Ставшее классикой, руководство Шилдта — не только для начинающих осваивать Java. Оно подойдет и тем, кто уже знаком с программированием на языке и хочет погрузиться в него детальнее. Также пригодится и практикующим программистам, в качестве справочника.
О чем книга
Одна из самых полных книг по изучению Java. Этот самоучитель «с нуля» поможет в краткие сроки приступить к созданию самостоятельных проектов. Автор знакомит с основами разработки, правилами создания, компилирования и выполнения программ, написанных на Java. Подробно рассказывается про элементы ядра Java, ключевые слова, синтаксис и языковые конструкции, которые составляют основу языка, детально описывает возможности Java. Есть материал и по сложным темам: многопоточность, обобщенные типы, лямбда-выражения, библиотека Swing, JavaFX.
Книга проиллюстрирована наглядными примерами кода с комментариями автора. К каждой главе есть вопросы для самопроверки и упражнения, которые помогут закрепить знания на практике.
Учебник может показаться скучноватым — он больше подойдет тем, кому нравится академическое, вдумчивое изложение материала. Местами темы разобраны очень детально, но четко и понятно. Для новичков это только в плюс.
Книга поможет начинающим кодерам разобраться в Java, понять основы создания и работы программ, которые написаны на этом языке. В ней есть все необходимое, чтобы сделать первые шаги в разработке.
Оригинал
- Java: A Beginner’s Guide, Herbert Schildt
Где купить
- На русском языке в Беларуси, в Украине здесь и здесь.
- На английском — на Amazon.
«JAVA для чайников» — Барри Берд
Подойдет как новичкам, так и практикующим программистам.
О чем книга
Руководство охватывает не только основы — что такое Java, какие есть средства и инструменты и у этого языка — в ней есть советы и важные для разработчиков нюансы. Автор рассказывает, как работать с классами, использовать циклы и условные конструкции для ветвления программ, какие есть мультимедийные возможности, объясняет основы объектно-ориентированного программирования (ООП). Есть про облачное покрытие и разные функции, например, параллельные фреймворки, замыкания и другие. Кроме того, книга помогает понять, как и когда можно повторно использовать фрагменты существующего кода в новых программах.
«Java для чайников» легко читается, в книге много забавных и ярких примеров, дельных советов. Даже человек, далекий от программирования, сможет понять Java. Эффективнее изучать язык с пошаговыми уроками из руководства, чтобы сразу закреплять изученное на практике.
Но все же, это не столько учебник для начинающих, сколько первый справочник по Java — с подробными и краткими объяснениями основ языка. Книгу нужно использовать в дополнение к другой литературе.
Оригинал
- Java For Dummies, Barry Burd
Где купить
- На русском языке: в Украине, в Беларуси.
- На английском: здесь или на Amazon.
«JAVA. Эффективное программирование» — Джошуа Блох
Тем, кто только приступил к изучению языка, книга может показаться сложной. Сначала лучше усвоить синтаксис и иметь хоть какую-то практику программирования. Но многие разработчики уверены, что книга подойдет (и даже обязательна) для любого уровня подготовки. Стоит прочитать всем: и специалистам, продолжающим обучение, и тем, у кого уже есть опыт разработки на Java. На страницах много интересного для любого программиста.
О чем книга
Еще одна классическая книга по Java, посвящена базовым принципам и тонкостям языка. Джошуа Блох — бывший сотрудник Google и создатель нескольких ключевых классов: Java Collection framework, пакета java.lang и механизма assert. Он отлично знает язык Java изнутри.
Автор учит писать код на Java и делится практическими советами, как максимально эффективно применять возможности языка. Он предлагает решение задач программирования, с которыми сталкиваются разработчики каждый день. Описывает приемы, которыми пользуются эксперты и показывает, что стоит делать, а что нет для получения понятного и надежного кода. Также Блох рассказывается про шаблоны проектирования и языковые идиомы: Lambda-выражения, потоки, обобщенные типы и коллекции. Глубоко изложена в учебнике тема ООП.
Все проиллюстрировано примерами кода. Описываются случаи из практики автора и советы при работе с Java. Даны конкретные рекомендации: подробные описания и пояснения к каждому пункту показывают, что делать, чего не делать и почему.
Книга учит пользоваться возможностями языка, понимать, как они работают и почему нужно делать именно так. Это поможет сформировать правильный подход в программировании на Java. А в будущем — уйти от шаблонных решений и начать делать то, чего нет в стандартной библиотеке. Читатель сможет понять, о чем нужно думать при написании кода и как сформировать хороший стиль программирования, чтобы получать чистый, читабельный код.
Оригинал
- Effective Java, Joshua Bloch
Где можно купить
«Чистый код. Создание, анализ и рефакторинг» — Роберт Мартин
Подойдет и начинающим, кто уже сделал первые шаги в разработке, и более опытным разработчикам. Будет полезно прочитать на старте карьеры, а потом вернуться к книге, например, через год — информация раскроется новыми смыслами.
О чем книга
Еще один классический труд по программированию — не столько о Java сколько о том, как писать красивый, чистый, легко поддерживаемый код. Но все примеры автор приводит на языке Java.
Роберт Сесил Мартин, которого называют «дядюшка Боб», делится своим огромным опытом разработчика ПО. Он говорит о простых, но важных вещах и повторяет их так часто, что невозможно не запомнить и не обратить внимание на проблему. Главный фокус на том, что плохой код всегда будет мешать развитию проекта и отнимет много ресурсов.
Книга рассказывает, как писать код, чтобы его понимали. Учит отличать плохой код от хорошего и трансформировать первый во второй. Руководство поделено на три основные части и дает ответы на множество разных вопросов. В первой части рассматриваются шаблоны, принципы и методы написания чистого кода. Во второй — практические сценарии с упражнениями по очистке кода или преобразованию проблемного в хороший. Третья часть — список правил и выводов, собранных при анализе после выпуска программы, описание признаков «плохо пахнущего» кода и хорошего кода.
Книга учит замечать типичные ошибки, которые кажутся мелочью, но все вместе портят код — и не делать их самим. Поможет завести привычку чистить код и быть внимательными к деталям.
Оригинал
- Clean Code: A Handbook of Agile Software Craftsmanship, Robert C. Martin
Где купить книгу
- На русском языке: в Украине, в Беларуси, на Amazon.
- На английском: на Amazon.
«Java. Библиотека профессионала» — Кей С. Хорстманн
Для новичков, решивших изучить этот язык программирования, и продолжающих — освежить и упорядочить знания. Профессионалы тоже смогут найти что-то полезное для себя.
О чем книга
Этот двухтомник — один из самых популярных трудов по Java, а многие разработчики называют его лучшим учебником языка. Название не должно пугать новичков, первый том посвящен основам: базовый синтаксис, безопасность, методики параллельного программирования, функциональное и ООП, многопоточное программирование, Swing и другое. Описаны все необходимые средства языка и библиотеки, нюансы работы Java. Книга содержит все, что нужно новичкам и программистам с опытом.
Материал изложен легким, доступным языком, без воды. Все рассматривается на множестве подробных, проверенных (не академических) примеров, простых для понимания. Примеры автор подкрепляет фактами и комментариями. Небольшой минус книги — нет практических заданий, задачи придется придумывать самим.
Книга поможет писать надежный и поддерживаемый код. Вы научитесь глубже понимать нюансы языка Java, его концепции. Узнаете библиотеки и познакомитесь с лучшими практиками программирования.
Оригинал
- Core Java. Volume I — Fundamentals, Cay S. Horstmann
Где можно купить
«Java. Методы программирования» — Игорь Блинов, Валерий Романчик
К чтению материала книги стоит подходить уже подготовленными, знакомым с основами языка и базовыми принципами программирования на Java.
О чем книга
Рассмотрены основы языка Java и концепции ООП, аспекты применения библиотек классов языка Java и рассказано, как применить на практике шаблоны проектирования.
Книга Блинова и Романчика — сборник оригинальных и полезных задач по программированию на Java, с интересным подходом к их решению. Даже часть теории подана в виде задачи с описанием решения. В конце каждой главы есть тестовые вопросы для самопроверки и задания. Есть приложение с дополнительными материалами по использованию UML, SQL, Ant, XML, и кратким описанием технологий Log4J, JUnit, JPA и Hibernate.
Преимущество учебника: есть бесплатная версия, которую можно скачать на сайте EPAM.
Книга не подойдет для изучения синтаксиса или в качестве справочника. Изложение в ней фундаментальное и местами сложное для восприятия. Это скорее учебное пособие для тех, кто уже знаком с основами языка — для повторения материала и практики.
Где взять
- На русском языке книгу можно скачать здесь.
«Паттерны проектирования» — Эрик Фримен, Элизабет Робсон
Больше подойдет для профессионалов в разработке, но будет полезна и новичкам, которые уже освоили основы языка.
О чем книга
Фокус, как понятно из названия, на паттернах проектирования, а все примеры в книге — на Java. Паттерны сформировались из опыта разработчиков, которые создают программы на этом языке — их лучшие практики проектирования рассматриваются в книге. Авторы считают, что для многих проблем программирования подходят проверенные решения, которыми пользуются разработчики, уже столкнувшиеся с аналогичными задачами.
В руководстве подробно разобраны все основные шаблоны, пригодные для решения различных задач. Рассказывается, какие паттерны действительно важны, когда и при каких условиях ими нужно пользоваться, на каких принципах ООП они построены и как применить это в проектах.
Материал изложен легким и доступным языком, с визуальными примерами, которые делают обучение быстрее и эффективнее. Есть баланс: сами объясняемые концепции сложные, а их подача — простая и много практических упражнений.
Книга поможет разобраться с шаблонами и начать применять их на практике, научит решать реальные задачи.
Оригинал
- Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software, Eric Freeman, Elisabeth Robson, with Kathy Sierra & Bert Bates
Где купить книгу
«Изучаем Java» — Кэти Сиерра, Берт Бейтс
Для начинающих — тех, кто пока не знаком не только с языком Java, но и вообще не сталкивался с программированием.
О чем книга
По мнению многих программистов, эта книга — лучший самоучитель Java с нуля. Авторы дают все необходимые знания для программирования на языке: от азов до сложных тем. Они рассказывают об основах синтаксиса, концепции языка, сети, работе с потоками, тестировании, распределенном программировании, ООП и другом.
Подача информации не похожа на классические книги. Здесь нет сухого строгого текста с теорией, зато есть обучение на практике, в игровой форме. Наглядные иллюстрации, головоломки, загадки, графики, множество примеров с комментариями, упражнения и тесты для закрепления материала — составляют основу материала.
Из-за нестандартной подачи, простого и живого языка сложная и скучная информация легко усваивается. При этом сохранен весь необходимый для новичка объем знаний. Учебник подходит непрограммистам — для знакомства с языком Java .
Оригинал
- Head First Java, Kathy Sierra, Bert Bates
Где можно купить
«Философия Java» — Брюс Эккель
Подойдет тем, кто уже программирует на Java. Книга полезна и новичкам, но может быть сложновато, если нет программистского бэкграунда.
О чем
Фундаментальное пособие, которое считается одним из лучших по изучению Java. Название книги говорит само за себя: речь пойдет о философии языка программирования, его сути. Здесь рассказывается не только про синтаксис, но и глубоко изложены принципы Java, особенности написания кода и основы применения языка.
Автор рассказывает о стандартных проблемах и их правильном решении с помощью Java. Помогает разобраться, как работает язык, почему работает именно так, а не иначе, почему он спроектирован именно таким. Книга объясняет, какие средства Java стоит использовать в каждом случае. Учит, как правильно использовать возможности этого языка для решения разных задач.
Эккель пишет об основных проблемах написания кода и их природе. Он помогает разобраться, какие есть преимущества применения Java для решения задач, по сравнению с другими языками программирования.
В книге хорошие и внятные примеры, из которых будет понятно, как работает язык Java, как надо и как не надо программировать на нем. Она поможет освоить базу для программирования, понять философию Java, механизмы его работы и преимущества.
Оригинал
- Thinking in Java, Bruce Eckel
Где купить книгу
- На русском языке: в Украине, в Беларуси или на Amazon.
- На английском: здесь или здесь.
«Java Concurrency на практике» — Брайан Гетц и другие
Книга подойдет разработчикам среднего уровня и опытным программистам, имеющим опыт в Java. Но ознакомиться с ней могут и новички.
О чем
Книга знакома почти всем специалистам по многопоточности — она была написана в 2006 году, но актуальна и сейчас. В ней глубоко раскрыты основы работы с многопоточным программированием на Java.
Материал книги раскрывает сложную тему: многопоточность и параллелизм, как важные части программирования на Java. Авторы объясняют принципы работы и паттерны проектирования, механизмы работы с потоками. Описывают теорию и методы создания надежных, масштабируемых и поддерживаемых параллельных приложений. Брайан Гетц и коллеги рассказывают о проблемах и ошибках при разработке многопоточных приложений, и предлагают читателям варианты решения, основываясь на своем опыте.
В руководстве много практической пользы, есть советы и примеры: как делать неправильно и как верно, как повысить эффективность приложений. Поначалу многие разделы могут оказаться сложными для понимания. Но темы, которые затронуты в книге — одни из самых трудных сами по себе, и нужно набраться терпения.
«Java Concurrency на практике» научит разбираться, когда нужно использовать параллелизм и как с его помощью правильно решать рутинные задачи.
Оригинал
- Java Concurrency in Practice, Brian Goetz, with Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea