Якщо прагнете вийти на новий кар’єрний рівень як Java-розробник, варто не лише практикуватися у програмуванні, але й читати профільну літературу. Але як серед сотень видань вибрати дійсно корисне й цікаве?
Експерти ІТ-команди NIX зібрали варті уваги книги для Java-розробників із різним досвідом.
Книги для Junior Java Developer
Clean Code: A Handbook of Agile Software Craftsmanship
Автор: Robert C. Martin.
Українська назва: «Чистий код: Створення і рефакторинг за допомогою Agile».
Роберт Мартін на прізвисько Дядько Боб (Uncle Bob) є знаковою фігурою для розробки ПЗ. Цей інженер та програміст народився в 1952 році та вже у 17 років почав займатися програмуванням.
За своє життя він реалізував сотні проєктів на Java та інших мовах, долучився до створення Agile-маніфесту і є автором підходу SOLID, який знайомий кожному сучасному розробнику.
Дядько Боб написав понад десяток книг по Java, C++ і C# та загальні принципи із програмування. Саме до останніх належить Clean Code. У ній автор послідовно розкриває, чому важлива чистота коду.
Ця книга для початківців розділена на 3 частини. У першій Мартін перераховує методи й шаблони створення чистого коду — аж до створення назв, функцій і класів на Java. У другій представлені вправи на очищення кодової бази. У третій — найкращі практики, які дають змогу швидше виявляти брудний код. Усе це допоможе вам писати більш якісний і читабельний код на Java.
The Pragmatic Programmer: From Journeyman to Master
Автор: Andrew Hunt, David Thomas.
Українська назва: «Програміст-прагматик».
Ендрю Хант разом із Девідом Томасом написали понад десяток книг по Java для початківців та інших технологіях і заснували серію The Pragmatic Bookshelf про прагматичні підходи до програмування.
Також вони були співавторами Agile-маніфесту та авторами багатьох відомих в IT-розробці понять. Як, наприклад, DRY, метод каченяти або Code Kata.
The Pragmatic Programmer — це не Java-книга в чистому вигляді. Вона була першою роботою авторів і багато в чому революційною.
У книзі Хант і Томас зібрали багато корисних порад для новачків, які допоможуть писати мовою Java гнучкий і динамічний код, уникати помилок у коді або логіці, налагоджувати стабільне тестування тощо.
Книга написана в легкому стилі. У ній багато прикладів із практики, цікавих аналогій і навіть анекдотів. У 2019 році було випущено оновлене видання, в якому автори актуалізували більшу частину матеріалу. Тож книга відповідає сучасним стандартам програмування на Java.
Head First Design Patterns: A Brain-Friendly Guide
Автор: Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra.
Українська назва: «Head First. Патерни проєктування».
Кожен із чотирьох авторів має чим похвалитися. Ерік Фріман займав позицію CTO в Disney Online, Елізабет Робсон заснувала освітню платформу WickedlySmart, а Кеті Сієрра та Берт Бейтс фактично й створили серію Head First. Це посібники для початківців, де наука об’єднується з яскравою візуалізацію, цікавими історіями, головоломками й живим гумором.
У вказаній серії існує ще одна книга по Java (йдеться про Head First Java), але у підбірку варто додати саме Design Patterns.
Книга потребує певних знань, але є гарним міксом з універсальних питань про програмну інженерію і програмування Java. У ній детально розбираються характерні шаблони проєктування програмного забезпечення, яке буде гнучким, надійним, масштабованим і функціональним. І все це — на реальних прикладах коду в Java API та вбудованої підтримки патернів мови.
Head First Design Patterns стала справжньою класикою, яка ані трохи не застаріла, адже у 2020 році вийшло оновлене видання.
Книги для Middle Java Developer
Effective Java
Автор: Joshua Bloch.
Українською книга не видавалася.
Джошуа Блох — це гуру в Java. За його плечима досвід роботи на керівних посадах у Google та Sun Microsystems, але головне надбання — участь у створенні самої мови Java (особливо JDK 5.0).
Так, Джошуа спроєктував фреймворк Java Collections, пакети java.math, механізм assert. А ще — написав чи не головне видання серед Java-книг.
Йдеться про Effective Java, яка здобула кілька галузевих премій і пережила вже два оновлення (у 2008 та 2017 роках). Головна цінність полягає у тому, що ця книга дає максимально всебічну презентацію теми для початківців і тих, хто має певний досвід на Java.
Автор розглядає загальні шаблони проєктування програмного забезпечення, основи мови та безліч конкретних механізмів та особливостей синтаксису: об’єктів, класів, бібліотек, колекцій, методів, лямбд, інтерфейсів, потоків, дженеріків тощо.
Також Блох показує, як уникати характерних помилок. Ця книга по Java у кожній із глав містить невелике есе із прикладами коду, які допоможуть вам краще розуміти логіку такого програмування.
Java Performance: In-Depth Advice for Tuning and Programming Java 8, 11, and Beyond
Автор: Scott Oaks.
Українською книга не видавалася.
За плечима у Скотта Оукса — багаторічна робота архітектором у Sun Microsystems та Oracle Corporation.
Хоча він доклав зусилля до багатьох проєктів (зокрема до програмування ядра операційки SunOS і RPC для систем Windows), головну увагу у своїй кар’єрі він спрямував безпосередньо на Java. Він є справжнім «євангелістом» цієї мови та написав кілька книг про неї.
Чи не найбільш популярна його робота як письменника — Java Performance. Ця Java-книга з’явилася у 2014 році та була оновлена у 2020 році. Вона обов’язкова для всіх, хто прагне отримати максимум продуктивності від Java-застосунків. При цьому особливий акцент зроблено на ефективному використанні JVM.
Оукс ретельно розбирає все, що позначається на швидкості: налаштування віртуальної машини, використання JDK, проблеми в API Java, роботу з базами даних, вплив збирача сміття, продуктивність Jit-компіляторів тощо. Також докладно розписує принципи тестування продуктивності.
High-Performance Java Persistence
Автор: Vlad Mihalcea.
Українською книга не видавалася.
Влад Михальча 11 років веде блог про Java, JPA, Spring і бази даних, проводить тренінги по продуктивності застосунків, написав понад 300 туторіалів по SQL і Hibernate. До речі, до останнього проєкту Михальча й сам доклав чимало зусиль як розробник.
У своїй книзі High-Performance Java Persistence автор надає багато корисної інформації про те, як застосунки взаємодіють із базами даних і як цю взаємодію покращити.
Вказана книга по Java розділена на три частини. У першій автор розповідає про реляційні БД як такі, роботу інтерфейсу JDBC, управління з’єднанням, кешування операторів тощо.
Друга частина присвячена JPA та Hibernate. Михальча показує, як, наприклад, механізми вилучення та управління паралелізмом підвищують продуктивність програм, написаних мовою Java.
У третій частині книги надано всю інформацію про бібліотеку jOOQ — від DML-операторів до збережених процедур.
Книги для Senior Java Developer + Software Architect
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
Автор: Martin Kleppmann.
Українською книга не видавалася.
Колись Мартін Клеппман був розробником масштабованих інфраструктур даних у великих компаніях, зокрема LinkedIn і Rapportive. Останніми роками він працює у Кембридзькому університеті дослідником розподілених систем, постійно виступає на конференціях про програмування, є блогером та учасником кількох OpenSource-проєктів на Java й інших мовах.
Книга Designing Data-Intensive Applications — це послідовний аналіз різноманітних технологій обробки та зберігання даних.
Автор показує, як створювати системи даних, які здатні витримувати потік мільйонів юзерів. Розбирає, як мінімізувати час простою застосунків. Роз’яснює, як зробити систему даних простішою в обслуговуванні навіть після змін вимог або технологій.
Важливо розуміти: це не ще одна Java-книга з покроковими інструкціями. Наприклад, для розгортання пакетів. Ціль Клеппмана — дати розуміння архітектури систем даних та їхньої інтеграції у кінцевий продукт.
Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People
Автор: Aditya Bhargava.
Українська назва: «Грокаємо алгоритми: ілюстрований посібник для програмістів і допитливих».
Адіт’я Бхаргава має дві вищі освіти: інженера комп’ютерних технологій і спеціаліста у сфері мистецтв, тож все життя поєднує їх.
З одного боку, Бхаргава пише ігри на Basic із 14 років, працює у стартапах і викладає курс «Вступ до Python». З іншого, віддає перевагу таким проєктам про арт, як Etsy, де він є штатним інженером.
Автор вдало комбінує програмування та дизайн. На відміну від багатьох книг про Java, ця містить понад 400 оригінальних і кумедних ілюстрацій. Хоча головне, звичайно, зміст.
Книга простою і зрозумілою мовою розповідає про використання складних алгоритмів під час розв’язання типових задач у розробці.
Бхаргава охоплює безліч прикладів: від пошуку та сортування даних до їх стискання й використання в AI-системах. Усе це доповнюють діаграми, графіки та приклади коду.
Останні, щоправда, на Python, але це видання настільки цікаве, що його не можна не включити в перелік кращих книг для вивчення Java.
У вивченні Java не обмежуйтеся лише перерахованими книгами. Читайте будь-яку цікаву вам літературу: про розробку, менеджмент, роботу в команді. Адже тільки з різноманітними знаннями можна дійсно зростати в ІТ.
Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.
Підписуйтеся на ProIT у Telegram, щоб не пропустити жодної публікації!