Примечание переводчика: эту статью я обнаружил на ресурсе javareviseted и счёл подборку автора довольно полной и интересной. В ней в основном рассказано о новых книгах (или новых изданиях). Причём речь идёт не только о Java, но также о смежных технологиях и о Soft Skills. Хочу отметить, что информация в этой подборке заинтересует, скорее, не абсолютных новичков, а тех, кто прошёл примерно половину курса JavaRush. Или больше.
Для тех, кто только начинает и ищет учебник по основам программирования на Java, рекомендую присмотреться к моей статье «Топ-7 книг по Java для начинающих». В данном переводе я старался приводить ссылку на русскоязычное издание, если оно есть в природе. Всем успешной учёбы!
А вот и список книг, которые приводит автор оригинального материала:
![20 лучших книг по Java которые нужно прочитать в 2018 году - 2]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 3]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 4]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 5]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 6]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 7]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 8]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 9]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 10]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 11]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 12]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 13]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 14]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 15]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 16]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 17]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 18]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 19]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 20]()
![20 лучших книг по Java которые нужно прочитать в 2018 году - 21]()

1. Java 8 in Action
Учебник по программированию на Java 8. Это одна из книг, которые я читаю, ещё начиная с 2016. Я читал её весь 2017 год при изучении возможностей JDK 8. Если вы её ещё не читали или только собираетесь заняться JDK 8, самое время взять её в руки.
2. Clean Architecture
(Мартин Р."Чистая архитектура. Искусство разработки программного обеспечения") Отличная книга, обнаруженная мной в 2017 году. Я настоящий фанат книг дядюшки Боба и уже прочитал Clean Code ("Чистый код") и The Clean Coder ("Идеальный программист"), посвященные правильному построению архитектуры. Если вы хотите разобраться в достоинствах и недостатках различных архитектур программного обеспечения – эта книга для вас.
3. Grokking Algorithms
(Бхаргава А. "Грокаем алгоритмы") Еще одна прекрасная книга, прочитанная мной в 2017, и вероятно, лучшая книга 2017 года. Хотя она охватывает лишь небольшое число алгоритмов и структур данных, всё охваченное – исключительно интересно и полезно. Этот учебник по программированию алгоритмов соотносит старые понятия с современными примерами, вдыхая в них новую жизнь, например, описывая, как Facebook хранит данные о пользователях. Если коротко, это книга, которую просто обязан прочитать любой начинающий изучать алгоритмы в 2018 году.
4. Building Microservices: Designing Fine-Grained Systems
(Ньюмен С. "Создание микросервисов") Все вокруг только и говорят о микросервисах, но что это такое? Каково главное преимущество архитектуры микросервисов над монолитной? Эта книга отвечает на все эти вопросы. Я ещё не закончил её чтение, так что собираюсь читать её и в 2018.
5. Soft Skills
(Сонмез Д. Путь программиста) Это не самоучитель по программированию, это самоучитель «Как быть программистом, чтобы тебя не ненавидели другие люди». Многие разработчики игнорируют так называемые "навыки межличностного общения" (soft skills), например, написание сообщений электронной почты, акцент на карьерном росте и самосовершенствовании. Джон Сонмез написал прекрасную книгу, и если вы чувствуете, что ваша карьера застопорилась, и хотели бы её подтолкнуть в 2018 году, прочитайте её обязательно.
6. Database Design for Mere Mortals
(Проектирование баз данных для простых смертных) Старый добрый учебник по программированию, а точнее — проектированию баз данных. Я люблю находить хорошие старые книги, не потерявшие актуальности, и это одна из них. Это все ещё отличная отправная точка для тех, кто хочет изучить проектирование баз данных или перевести на новый уровень свои навыки их моделирования.
7. Making Java Groovy, by Ken Kousen
(Groovy для Java) В 2017 году мне довелось немного поработать с языком программирования Groovy и это была первая прочитанная мной о нём книга. Если вы решите в 2018 году выучить Groovy, то она обеспечивает отличную базу знаний с точки зрения Java-программиста. В ней приведено ровно столько подробностей, сколько нужно для использования всех его преимуществ – и ничего лишнего и непонятного для новичков.
8. Groovy in Action, Second Edition
(Groovy в действии) Это была вторая прочитанная мной в 2017 об языке Groovy книга. Хотя "Making Java Groovy" и неплоха для начала, она охватывает далеко не все вопросы, так что после изучения основ Groovy и написания нескольких сценариев на нём, вам понадобится более подробная информация. Именно тут вам и пригодится эта книга.
9. TCP/IP Illustrated
(TCP/IP в картинках) Одна из наименее понравившихся мне книг, но все же очень полезная. Я ещё не дочитал её, но если вам нужны все подробности о TCP/IP – её имеет смысл почитать.
10. UML Distilled by Martin Fowler
(Мартин Фаулер, "UML. Основы. 3-е издание") В 2017 мне пришлось нарисовать несколько UML-схем, и чтобы освежить свои познания в UML я выбрал именно эту книгу. Пригодится она вам и для изучения UML в 2018-м.
11. Hibernate Tips
(Советы по Hibernate) Одна из самых полезных книг по Java 2017 года, написанная известным блоггером Торбеном Янссеном (Thorben Janssen). В книге приведено 70 практических советов по Hibernate. Если вы используете Hibernate, эти советы помогут заполнить пробелы в ваших знаниях, да и если вы решите изучать Hibernate в 2018 году, с этой книгой ваша учеба приобретет новое измерение.
12. The Art of Agile Development
(Искусство разработки на Agile) Я использую Agile уже довольно давно, но по-прежнему читаю иногда книги по нему, чтобы освежить знания и выучить что-то новое. Эта книга оказалась отличным руководством по Agile, даже использующие его регулярно смогут почерпнуть отсюда что-нибудь.
13. Essential Scrum
(Основы Scrum) Я играл роль скрам-мастера (Scrum Master) в 2017 году и для подготовки читал именно эту книгу. Scrum отлично работает для небольших, локальных команд разработчиков, но если пытаться управлять большой командой, разбросанной по всему миру, удаленно, то что-нибудь быстро может пойти не так. В этой книге описаны все утилиты и даны все инструкции, необходимые для организации скрам-совещаний (Scrum meetings) – все что нужно, чтобы стать скрам-мастером. Если вы хотели бы в 2018 году стать скрам-мастером – прочитайте её. Можете также прослушать какие-либо из онлайн-курсов по Scrum и Agile, для чего рекомендую вам заглянуть в Scrum Fundamentals на сайте Pluralsight.
14. Java Performance Companion
(Справочник по производительности Java). Учебник по Java для тех, кто уже что-то знает. Я прочитал несколько книг по тонкой настройке производительности Java в 2016 году и ранее, например, The Definitive Guide to Java Performance (Исчерпывающее руководство по производительности Java), так что многого от неё я не ожидал. Единственной моей целью было разобраться со сборщиком мусора (garbage collector) G1, о котором я оттуда узнал. Эта книга – отличный отправной пункт для тех, кто хотел бы в 2018-м сосредоточить свои усилия на тонкой настройке производительности Java.
15. High-Performance Java Persistence
(Высокопроизводительное хранение данных в Java) Ещё одна книга, оставшаяся с 2016 года, которую я дочитал в 2017. И ещё одна прекрасная книга по Hibernate с упором на производительность. Если вы собрались всерьез узнать больше о Hibernate в 2018, рекомендую вам прочитать как книгу из п.11, так и эту.
16. Functional Programming in Scala
(Функциональное программирование на Scala) Я пытался разобраться с языком Scala в 2017 году, но без особых успехов. Я прочитал пару книг по нему, но у меня было недостаточно практики для настоящего изучения. В частности, потому что я не использую его в своих проектах и у меня есть более важные вещи, которым стоит уделить внимание. В любом случае, если вы решите заняться функциональным программированием и языком Scala в 2018 – загляните в эту книгу. Возможно, я перечитаю её в 2018 году, если будет время.
17. Scala for the Impatient
(Scala для нетерпеливых) Еще одна прочитанная мной в 2017 книга по языку Scala. Я обожаю стиль Кея С. Хортсманна и прочитал несколько его книг, в частности, Core Java Part 1 and II (Java. Библиотека профессионала) и Java SE 8 for the Really Impatient (Java SE 8 базовый курс). Это книга в подобном же стиле, посвященная языку Scala. Это неплохое начальное руководство для тех, кто собирается учить Scala в 2018.
18. Head First JavaScript
(Робсон Э., Фримен Э. "Изучаем программирование на JavaScript") Я уже говорил, что JavaScript – язык программирования №1 на сегодня, так что если вы его не знаете – вы многое потеряли. Эта книга обязательна к прочтению для всех веб-разработчиков и изучающих такие фреймворки, как Angular, React и jQuery. Если вам еще только предстоит изучить JavaScript – нет лучше книги, чем Head First JavaScript. Обязательна к прочтению для всех, кто решил в 2018 выучить JavaScript.
19. SQL CookBook
(Молинаро Э. "SQL. Сборник рецептов") SQL – моя любимая технология, я всегда с удовольствием нахожу интересные книги по SQL. Эту книгу я нашел в 2017 и рад поделиться ею с вами. Эта книга ориентирована на практику, в ней приводится множество отличных советов по использованию SQL в различных базах данных. Прочитайте её в 2018, если хотите поднять свои навыки SQL на новый уровень. Можете также воспользоваться этими веб-сайтами по изучению SQL-запросов для дальнейшего совершенствования своих познаний в SQL.
20. The Complete Software Developer's Career Guide
(Всеобъемлющее руководство по карьерному росту разработчика программного обеспечения) Последняя по списку, но не по важности, отличная книга для настоящих разработчиков ПО. Если вы всерьез настроены на карьерный рост и хотели бы взять дело в свои руки в 2018, то обязательно прочитайте эту книгу. Джон Сонмез (John Sonmez) с сайта SimpleProgrammer.com дает в этой книге и упоминавшемся выше "Пути программиста" множество полезных советов.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ