JavaRush /Java блог /Random UA /Топ-10 книг з Java для початківців
Max Stern
35 рівень
Нижний Новгород

Топ-10 книг з Java для початківців

Стаття з групи Random UA
Ми звикли до швидкого доступу до інформації і так само швидкого її поглинання. Ми вважаємо за краще п'ятихвабонні ролики глибоким лекціям і коротенькі статті — книгам. Не стверджуватиму, що хороша книга з програмування замінить будь-яку статтю, це не так. І точно вона не замінить практику. Тим не менш, особисто до мене справжнє розуміння основ програмування прийшло після того, як я, вирішивши сотні завдань на курсі програмування JavaRush і прочитавши тонну статей, почав паралельно вивчати теорію з книг і добре в них поглибився. Я досить довго шукав свій персональний «найкращий підручник з Java для початківців». Нижче кілька Java книг, які мені знадобабося більшою чи меншою мірою на різних етапах навчання.
  1. Head First Java
  2. Java. Керівництво для початківців
  3. Java для чайників
  4. Java. Повне керівництво
  5. Java. Бібліотека професіонала
  6. Java. Методи програмування
  7. Java. Довідник розробника
  8. Java SE 9. Базовий курс
  9. Effective Java
  10. Філософія Java
Топ-10 книг з Java для початківців - 1

"Для най менших"

Наступні три книги можна починати читати на старті навчання, паралельно з відео або, якщо навчаєтеся на JavaRush, разом з першими рівнями. Вони, особливо перша, підходять людям із нульовим програмістським минулим.

"Head First Java, Вивчаємо Java", Кеті Сьєрра, Берт Бейтс

Я почав з цієї книги не тому, що вона мені найбільше подобається, а тому, що вона найпростіша. Ця книга, на думку багатьох програмістів, — найкращий самовчитель Java з нуля. Причому вона по-справжньому і зовсім «з нуля», тобто підходить тим, хто тільки починає і не зовсім розуміє ще, що за звір такий — програмування. До мене вона потрапила надто пізно. Думаю, саме тому я не зміг її гідно оцінити. "Просто читати" її було дуже приємно, а ось шукати щось конкретне в ній мені доводилося довго. Матеріал там поданий жваво, але досить поверхово (бо з нуля!) і багатьох тем і потрібних пояснень просто немає. А ось мій друг, якому вона пішла у спадок, був від неї в захваті і кричав, що це не просто найкращий підручник з Java для початківців, Топ-10 книг з Java для початківців - 2 Переваги:
  • Найкращий самовчитель Java з нуля, для повних чайників, написаний живою мовою;
  • Прикольні ілюстрації та гумор;
  • Пояснення із життєвими прикладами.
Недоліки:
  • Багато «води» для тих, хто вже в'їхав у тему;
  • Не завжди вдалі пазли та вправи.

"Java. Керівництво для початківців", Герберт Шілдт

Погортавши цей підручник, я подумав, що він добре підійде тим, кому подобається традиційніший виклад матеріалу, ніж у Headfirst, і при цьому вони шукають самовчитель «з нуля». Місцями виклад у книзі дуже детальний, нагадує розширену та перекладену документацію з гарними наочними прикладами. Іноді, як на мене, автор переходить кордон, і починає надто вже розжовувати, читати ставати нудно... і раптом - кульбіт - і якесь досить складне місце просякується майже миттєво, і ти в повному здивуванні намагаєшся зрозуміти, що і де пропустив. Проте таких місць у книзі не надто багато, і я знаю людей, які вважають, що «Посібник для початківців» — найкращий самовчитель Java для тих, хто ще нічого не знає. Особисто мені він здався не дуже рівним. Скажімо, починаю розбирати колекції, і замість людського пояснення мені підсовують завдання самостійного створення Set на основі масивів. Класне завдання, але я б хотів спочатку краще зрозуміти, що таке стандартні колекції! Хоча ця книга, як і попередня, вважається підручником для початківців, мій досвід викладача підказує, що вона гарна лише в сукупності з іншими матеріалами: гуманітарію-світлеру буде не все просто і зрозуміло. Найкраще "Керівництво для початківців" підійде тому, хто так-сяк навчав програмування (наприклад, в універі), давним-давно на нього забив, і при цьому йому подобається стиль викладу автора. Особливо тішить, що підручник стабільно оновлюється, і в ньому розглянуті особливості Java 8, а актуальне на 2020 рік видання (сьоме) враховує JDK 9 і JDK 10. Хоча ця книга, як і попередня, вважається підручником для початківців, мій досвід викладача підказує, що вона гарна лише в сукупності з іншими матеріалами: гуманітарію-світлеру буде не все просто і зрозуміло. Найкраще "Керівництво для початківців" підійде тому, хто так-сяк навчав програмування (наприклад, в універі), давним-давно на нього забив, і при цьому йому подобається стиль викладу автора. Особливо тішить, що підручник стабільно оновлюється, і в ньому розглянуті особливості Java 8, а актуальне на 2020 рік видання (сьоме) враховує JDK 9 і JDK 10. Хоча ця книга, як і попередня, вважається підручником для початківців, мій досвід викладача підказує, що вона гарна лише в сукупності з іншими матеріалами: гуманітарію-світлеру буде не все просто і зрозуміло. Найкраще "Керівництво для початківців" підійде тому, хто так-сяк навчав програмування (наприклад, в універі), давним-давно на нього забив, і при цьому йому подобається стиль викладу автора. Особливо тішить, що підручник стабільно оновлюється, і в ньому розглянуті особливості Java 8, а актуальне на 2020 рік видання (сьоме) враховує JDK 9 і JDK 10. підійде тому, хто сяк-так навчав програмування (наприклад, в універі), давним-давно на нього забив, і при цьому йому подобається стиль викладу автора. Особливо тішить, що підручник стабільно оновлюється, і в ньому розглянуті особливості Java 8, а актуальне на 2020 рік видання (сьоме) враховує JDK 9 і JDK 10. підійде тому, хто сяк-так навчав програмування (наприклад, в універі), давним-давно на нього забив, і при цьому йому подобається стиль викладу автора. Особливо тішить, що підручник стабільно оновлюється, і в ньому розглянуті особливості Java 8, а актуальне на 2020 рік видання (сьоме) враховує JDK 9 і JDK 10. Топ-10 книг з Java для початківців - 3 Переваги:
  • Традиційний вдумливий виклад основ;
  • Гарні приклади.
Недоліки:
  • Є "стрибки" від "занадто розжовано" до "мигцем сказано";
  • Місцями нудно.
До речі, Герберт Шилдт має ще одну відому книгу з програмування — «Java. Повне керівництво». Це зовсім інший підручник, фундаментальніший. До нього і переходимо.

"Java для чайників", Баррі Берд

Ця книга, зізнатися, потрапила до мене вже, коли я працював програмістом. У більш ранній версії статті про корисні книги в коментарях мені поставабо питання про неї, і коли побачив її у джуна-тестувальника на роботі, вирішив до неї придивитися. "Java для чайників" Баррі Берда - цікава книга для новачків, які готові використовувати кілька ресурсів для свого навчання. Це не підручник для початківців, а скоріше, перший довідник з Java. Її найефективніше вивчати паралельно з покроковими уроками (як JavaRush) і (обов'язково!) закріплювати вивчене практично відразу. За викладом я одразу визнав в авторі колегу-вчителя, оскільки подекуди він робить зупинки в несподіваних на перший погляд місцях і розглядає порушені питання дуже докладно. Це не просто так: саме на цих питаннях його студенти найчастіше спотикалися. А ось деякі теми розкриті поверхово… Втім, це книга для початківців, від неї не варто чекати на глибини. Скажімо, перші два розділи хороші для початківців, ОВП (глава 3) краще вивчати за іншою книгою, а ось глави 4 (просунуті методики програмування — пояснення, як користуватися класами та методами, початку колекцій, багатопоточності, обробки винятків) та 5 (поради щодо уникнення помилок) я вважаю дуже вдалими та корисними. Книга відчуває, що автор є викладачем, тому моментами в книзі Кілька питань докладно розглянуті тут. Можливо, ви відчуваєте, що автор є вчителем, тому він викладає ті проблеми, які викликали найзначніші труднощі для його учнів-початківців. Але деякі теми, розкриті досить поверхово, лише на рівні інформативних статей. Проте, Java для чайників це книга для початківців. Тож це може бути ваша перша ітерація знайомства з мовою. Більш того, Java For Dummies легко читається, сповнена яскравих і кумедних прикладів. Його можна легко прочитати будь-де на дорозі або перед сном. Якщо вас, звісно, ​​влаштовує авторський стиль. І пам'ятайте: жодна книга в цьому світі не може перетворити вас на розробника програмного забезпечення. Тільки практика може. Топ-10 книг з Java для початківців - 4 Переваги:
  • Легка мова;
  • Дільні поради та вдале запровадження ряд тем (глави 1,2, 4);
  • Гарні приклади.
Недоліки:
  • Не всі теми викладено однаково добре;
  • Авторський стиль може і не подобається.

Довідники та керівництва

Книги з цього розділу стануть у нагоді тим, хто вже вплутався в програмування на Java на повну і шукає книги для кращого розуміння теорії та практики.

"Java. Повне керівництво", Герберт Шілдт

Цю книгу я вирішив завантажити з інтернету, щоб оцінити, а потім купити чи не купити. Чи жарт, 1300 сторінок тексту! Та й ціна вражає не менше обсягу. Так само я вчинив і з двотомником «Бібліотека професіонала» Кея Хорстманна (про неї нижче). Забігаючи наперед, скажу, що я зупинив свій вибір на другий. Чому? Тому що у книзі «Java. Повне керівництво» я побачив ті самі недоліки, що й у «Посібнику для початківців». Іноді розжовано, іноді — скомкано, але при цьому не просто скомкано, а якось багатослівно скомкано. Мабуть, це — авторський стиль і, думаю, комусь він буде до вподоби, а точніше — з мислення. В цілому "Java 8. Повне керівництво" - це непоганий довідник з Java. Але особисто мені виклад тих самих тим більше сподобався в іншій книзі. Топ-10 книг з Java для початківців - 5 Переваги:
  • Повне керівництво. Здається, там є всі теми, які потрібно знати новачкові, і не лише новачкові.
  • Детальні пояснення.
Недоліки:
  • Багато води (але це комусь може подобатися!);
  • Російський переклад не найкращий.

"Java. Бібліотека професіонала", Кей С. Хорстманн, Гарі Корнелл

Книги Шилдта та Хорстманна часто порівнюють одна з одною. І той, і інший є віддані шанувальники. Для мене саме двотомник Хорстманна — найкращий підручник з Java. Він став для мене настільною книгою на початкових і середніх рівнях JavaRush. Коли я не розумів якусь тему, в основному ліз саме в Хорстманна, і той багато прояснював. У книзі розглядається все – від синтаксису до багатопотокового програмування, локалізації програм та роботи з XML. І нехай вас не лякає назва «Бібліотека професіонала» (мене саме вона й відлякала), основи тут розібрані досить добре. Крім того, її корисно періодично перечитувати, щоб освіжити та впорядкувати знання. Кажуть, навіть професіонали знаходять у ній щось корисне собі… Не знаю. Стану професіоналом – розповім! Топ-10 книг з Java для початківців - 6 Переваги:
  • При вражаючій кількості сторінок мало води (на відміну від Шілдта).
  • Містить все, що потрібне новачкам.
  • Розкриває Java 8, враховує зміни в JDK 9, 10 та 11.
  • Хороша подача тем за колекціями та дженериками.
  • Дуже добре поєднується з JavaRush. Доходьте до теми, вирішуєте завдання, рано чи пізно щось не розумієте - дивіться Хорстманна, пробуєте знову.
Недоліки:
  • Комусь може здатися, що книга суха;
  • Немає практики;
  • Російський переклад із ляпами.

"Java. Методи програмування", Блінов, Романчик

Колись я вичитав на форумі, що є така книга «Промислове програмування» і в ній непогані завдання. Виявилося, не збрехали. Написано книгу як ґрунтовний університетський підручник, тобто місцями виклад дещо важкий, академічний. АЛЕ! Там дійсно дуже хороша збірка завдань із програмування на Java, а також тестові завдання. Кажуть, за цією книгою навчаються стажери EPAM, а також її взяли на озброєння багато оффлайнових курсів з Java. Топ-10 книг з Java для початківців - 7 Там підхід до завдань трохи не такий, як у JavaRush, тобто, в середньому тут завдання трохи складніше і кожна з них щось на зразок не міні, але мікро-проекту. Тому рекомендую навіть студентам JavaRush, тому що недоліком практичної сторони курсу я вважаю те, що всі завдання в ньому вже повністю спроектовані і є занадто багато підказок. Скажімо, завдання на ООП із цієї збірки допомогли мені дуже непогано розібратися в цьому самому ООП поряд із книгами «нев'янучої класики», про які я пишу нижче. Книга написана як би для майбутніх "гребців", тому в ній описані технології Hibernate для розробки розподілених систем, а також основи HTML, XML, JavaScript. «Промислове програмування» — якщо не найкращий самовчитель Java, то дуже непоганий навчальний посібник. Але до неї треба приходити вже підготовленим. Скажімо, після десятка-другого рівнів JavaRush. Пізніше я виявив її нове і перероблене видання, вже під назвою «Java. Методи програмування ». Топ-10 книг з Java для початківців - 8 Переваги:
  • Відмінна добірка завдань та тестових завдань;
  • Є офіційна безкоштовна версія (я вважаю, що вона офіційна, оскільки лежить не на якомусь рутрекері, а на сайті EPAM);
  • Порівняння із З++.
  • Можливість зрозуміти, що відбуваються на стажуванні EPAM.
Недоліки:
  • Занадто фундаментальний виклад. Але для повторення з практикою підійде.
  • Не враховує Java 8 та наступних JDK. Втім, у цій книзі головне — вдалий вибір завдань.

Розширені посібники

"Java. Довідник розробника", Бенджамін Дж. Еванс, Девід Фленаган

Хороший універсальний довідник, альтернатива книгам Хорстманна. Містить інформацію корисну як початківцям, так і Java-розробникам, що продовжують. Останнє на момент написання цієї фрази видання (сьоме) спирається на Java 11, тобто в ньому є все, що потрібно знати розробнику-початківцю. Книга не затягнута, є багато прикладів, розглянуті Java API та найкращі практики розробки. Книга легко читається і з неї можна дізнатися і основи мови, корисні прийоми програмування, і нові тенденції в Java. Топ-10 книг з Java для початківців - 9 Переваги:
  • Короткий та добрий виклад;
  • Є все, що потрібне;
  • Гарний опис сучасних інструментальних засобів;
  • Вдалі приклади.
Недоліки:
  • Не завжди зручний переклад термінології (є терміни, які “звичайні” російськомовні розробники відразу не зрозуміють).

"Java SE 9. Базовий курс", Кей Хорстманн

В оригіналі ця книга називається Core Java SE 9 for the Impatient, або Java Core SE 9 для нетерплячих. Не знаю, чому це не обіграли в перекладі, як на мене, книга не губилася б серед собі подібних. Так ось, у попередньому пункті перед нами були докладні довідники для програмістів-початківців, тут же — введення в курс справи тих, хто вже непогано розуміється на програмуванні. Книга організована як короткий довідник, і їм дуже зручно користуватися для пошуку відповіді на конкретне запитання, якщо ви щось забули або раніше програмували іншими мовами. Що мені особливо сподобалося — тексти дуже короткі, по суті, без розжовування та води. У книзі добре описані лямбда-вирази, потоки введення-виведення, модулі. Однак варто розуміти, що це книга не для повних новачків, і тут немає пояснень, що таке змінна чи цикл. Натомість є, Крім того, то я вже згадав, фундаментальні структури, колекції, інструкції, дженерики, логування, багатопоточність - все те, з чим ви працюватимете на практиці. Зізнатися, ця книга мені дуже подобається, і я навіть зараз іноді в неї заглядаю. Тільки слід пам'ятати, що ця книга не підходить тим, хто нічого не знає про програмування. Вона скоріше для тих, хто вже вивчав якусь іншу мову або ту ж саму Java, але давно й не повністю. Топ-10 книг з Java для початківців - 10 Переваги:
  • Короткість інформаційних блоків. Все у справі;
  • Нема зайвих тем;
  • Дуже хороший підбір актуальних тем для вивчення Java-програмістами-початківцями;
  • Вдалі приклади.
Недоліки:
  • Книга не підходить для тих, хто починає вивчати програмування з нуля і раніше жодного разу з ним не стикався.

Нев'януча класика

Книги, про які я пишу нижче, можна назвати священними текстами для початківців і продовжуючих «джавістів».

"Effective Java", Джошуа Блох

Це просто скарб, а не книга і присвячена вона базовим принципам мови від одного з його авторів Джошуа Блоха. Швидше за все, ви вже користувалися його бібліотеками (Java Collection, наприклад). Відразу обмовлюся: цілковитим новачкам, окрім якихось вундеркіндів-спідлернерів, книга Effective Java не потрібна. Спочатку краще засвоїти синтаксис, і отримати хоч якусь практику програмування, так би мовити, «набити шишки», а вже потім — братися за творіння Джошуа Блоха. Книга стане в нагоді тим, хто хоче по-справжньому розуміти Java, сформувати правильний підхід при програмуванні цією мовою, зрозуміти не тільки як потрібно робити, але й тому потрібно робити саме так. А ще тим, хто хоче глибоко пізнати ОВП (загалом, це взаємопов'язані речі). Ця книга - найкращий підручник з Java у розрізі об'єктно-орієнтованого підходу до програмування. Топ-10 книг з Java для початківців - 11Переваги
  • Блискучий виклад матеріалу на тему ООП.
  • Наведено найкращі практики програмування.
  • Автор дуже добре знає Java зсередини.
Недоліки
  • Початківцям може здатися складним.

"Філософія Java", Брюс Еккель

Назва цієї книги говорить сама за себе. Це ще одна «альфа та омега» для всіх, хто хоче знати Java! У цій книзі ви знайдете хороші та виразні приклади, і з них буде зрозуміло, як працює Java. Мені складно сказати, яка з двох книг – «Філософія Java» або «Ефективне програмування» – краще. Я б сказав, що Еккель дещо лояльніший до новачків, у той час як Блох вимагає будь-якого досвіду. Вперше я прочитав розділ із «Філософії Java», коли тільки починав навчатися на JavaRush (здається, на одному з ранніх рівнів вона значилася у рекомендованих). Тоді вона мені не пішла. Натомість після 10 чи 12 рівня – це була пісня! І, скажу, дуже корисна пісня. Я повертався до неї і пізніше, коли прийшов до «Ефективного програмування». Скажу так: Блох і Еккель нехай говорять про те саме, але по-різному, і приклади наводять різні. Топ-10 книг з Java для початківців - 12Переваги
  • Глибокий виклад принципів Java від професіонала;
  • Добре зайде тим, хто переходить з інших мов – багато порівнянь із С++, наприклад.
  • Як мені здається, її можна починати читати рівня з 10-го, а от Еккеля трохи пізніше.
Недоліки
  • Дуже невдалі російські переклади;
  • Відсутність нового видання книги російською.

Короткі висновки

  1. Найкращий самовчитель Java з нуля для тих, хто зовсім нічого не знає - Head First Java;
  2. Найкращий довідник-підручник з Java та настільна книга — «Бібліотека професіонала». І, звісно, ​​документація Oracle.
  3. Найкращий збірник завдань із програмування на Java - JavaRush. Ну а серед книжок – «Java. Методи програмування».
  4. Найкраща нев'януча класика — «Філософія Java» та «Effective Java». Це must read для всіх, хто вирішив розібратися у всьому по-справжньому для глибокого розуміння. Але краще їх читати поступово та з розстановкою.
  5. Додатковий висновок: є можливість читати англійською. Російські переклади переважно дуже слабкі.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ