Існує думка, що вивчення програмування за книгами — застарілий спосіб навчання. Але ми з цим категорично не погоджуємося. Книга, якщо вона справді хороша та актуальна, — чудове джерело нових знань та навичок. По-перше, в книзі міститься дуже багато інформації, яку в іншому випадку вам довелося б збирати по крихтах в інтернеті. По-друге, книгу завжди можна тримати під-рукою, робити позначки та закладки, швидко повертатися до потрібного пункту у разі потреби. Ну і, по-третє, книги змушують думати, а не просто поглинати інформацію. А це для програміста надзвичайно важливо!
Отже, ми зібрали для вас невелику добірку відмінних книг Java, на які рекомендуємо звернути увагу. Особливо якщо ви прямо зараз проходите наш курс "HTML5 + CSS3 + JS з нуля до готового проекту" і вже думаєте, куди рухатись далі у своїй професійній діяльності.
Java. Повне керівництво», Герберт Шілдт
Це чудова книга для тих, хто вивчає Java з нуля. У ній автор детально описує базові концепції мови, її методи та бібліотеки. Це хороший фундамент для подальшого вивчення Java, що описує також принципи ООП і демонструє, що і як можна розробляти Java.
Книга написана досить легкою для сприйняття мовою. Багато хто небезпідставно вважає, що вона цілком може замінити початкові курси з програмування. Але враховуйте, що має досить великий обсяг — майже півтори тисячі сторінок. І це лише базові знання.
Java. Бібліотека професіонала», Кей Хорстманн
Дуже популярний двотомник Кея Хорстманна загальним обсягом майже 1900 сторінок. Книга дійсно має багато позитивних відгуків, а читачі стверджують, що завдяки їй зуміли отримати довгоочікувані посади розробників. Вважається навіть, що якщо ви подужаєте обидва томи, то точно зможете стати впевненим девелопером. Але тут, зрозуміло, все індивідуально.
Java. Ефективне програмування», Джошуа Блох
Від важких томів перейдемо до «легшої» навчальної літератури. Java. Ефективне програмування» - це книга менш ніж на 500 сторінок, в якій міститься близько 300 правил, присвячених окремим аспектам та властивостям Java. При цьому варто сказати, що у книзі досить мало довідкової інформації. Проте вона вчить правильно писати код і буквально змушує постійно практикуватися.
Головна перевага книги – її структурованість. Можна швидко знайти потрібне правило і звернутися саме до нього для вирішення завдання. Але теорії іноді справді не вистачає і доводиться шукати додаткову інформацію у Мережі.
«Вивчаємо Java», Кеті Сієрра, Берт Бейтс
Книга свого часу стала світовим бестселером і вважається однією з найкращих для новачків. Головна її перевага — проста та вільна подача матеріалу з ілюстраціями. Вона допомагає вивчити основи синтаксису Java, ООП, багатопоточність, мережу та інші важливі теми Java-програмування.
Проте є два нюанси. Перший — комусь книга може здатися відверто простою і навіть наївною. Друге — 2-ге видання книги випущено вже понад десять років тому. Відповідно багато інформації вже відверто застаріло. Проте це все ще хороше джерело знань і навичок для розробників-початківців.
"Java Concurrency на практиці", Браян Гетц та ін.
Чи не найпростіша книга для вивчення, але вкрай корисна, якщо ви вчите Concurrency. Але це не брак книги, а скоріше специфіка API самого Concurrency.
У книзі міститься опис безлічі проблем, з якими можуть зіткнутися девелопери при створенні багатопотокових додатків, у тому числі дідлоки, використання «вічних ресурсів» і т. д. Корисної інформації та прикладів практичного застосування в ній справді багато. Запам'ятайте цю книгу на майбутнє, коли освоїте ази Java-програмування.
"Алгоритми на Java", Роберт Седжвік, Кевін Уейн
Якщо ви вже більш-менш впевнений Java-розробник, настав час вивчати алгоритми. Про них сказано і написано дуже багато, але книга Роберта Седжвіка та Кевіна Вейна виразно виділяється на тлі інших. Авторам вдалося подати досить складну інформацію дуже доступною та зрозумілою мовою. Усі алгоритми та структури розібрано дуже докладно, є багато прикладів для ознайомлення. Щоправда, автори іноді надто йдуть у теорію, забуваючи про практику. Тому при прочитанні радимо робити паузи та практикуватися.
«Чистий код», Роберт Мартін
Це, можливо, одна з найпопулярніших книг у нашій добірці. Якщо ви коли-небудь шукали книжкові добірки для програмістів, то швидше за все вже зустрічали «Чистий код». Книга насправді належить не лише Java. Вона розповідає про те, як писати чистий і підтримуваний код. У ній багато універсальних знань, які, напевно, стануть вам у нагоді в роботі. Навіть якщо ви в результаті оберете іншу мову програмування.
Книгу регулярно перевидають і актуалізують, що теж є великою перевагою. З недоліків можемо назвати лише те, що деякі поради можуть здатися аж надто очевидними. Але це насправді дрібниці на тлі всіх переваг «Чистого коду».
«Високонавантажені програми. Програмування, масштабування, підтримка», Мартін Клеппман
Ця книга — це вже «важка артилерія». Її можна рекомендувати тим програмістам, які вже добре освоїли Java, Spring та Computer Science. Це по праву одна з найкращих робіт, що стосуються бекенд-розробки. Перед вами вичерпне практичне керівництво, яке ви напевно неодноразово перечитуватимете в міру свого професійного розвитку і щоразу відкриваєте для себе щось нове. Для багатьох Java-розробників «Високонавантажені програми» стали справжньою настільною книгою.
У вивченні Java та взагалі програмування вкрай важлива практика. Без неї все прочитане вивітриться з пам'яті вже за кілька годин чи днів. Тобто книги по Java не можна читати просто перед сном, лежачи в ліжку. Ви повинні бути біля комп'ютера та постійно практикуватися.
Ідеальних книг із програмування не існують. У будь-якому випадку у вас будуть «проблемні» теми, які доведеться вивчати додатково. Тому коли зіткнетеся саме з такою темою та відчуєте, що потрібно більше інформації, відкладіть книгу та вирушайте в інтернет. І тільки коли повністю розберетеся у питанні, повертайтеся до читання. Інакше у ваших знаннях з'являться прогалини, які уповільнюватимуть і ускладнюватимуть все подальше навчання.
Вивчити програмування на Java виключно з книг цілком реально. Але не потрібно заганяти себе у рамки. Комбінуйте формати навчання: онлайн-курси та книги, традиційне навчання та онлайн-тренажери, інше. Різноманітність форматів допомагає поглянути на різні теми та завдання по-іншому, знаходити нові рішення, комбінувати знання та навички для кращого результату.
Вам зовсім не обов'язково вивчати вибрану книгу від кірки до кірки. Іноді набагато ефективніше читати саме те, що цікавить вас зараз. Справа в тому, що розділи в таких книгах зазвичай не дуже пов'язані між собою. А ваша програма навчання може не співпадати із черговістю розділів. Тому не потрібно намагатися якнайшвидше «пробігти» кілька розділів, щоб нарешті дійти до потрібного розділу. Читайте її. А до попередніх розділів повернетесь, коли це буде актуальним. Це нормальна практика!
Офіційний випуск Java відбувся 23 травня 1995 року і з того часу регулярно оновлюється. На момент написання цієї статті актуальний випуск Java SE 19.0.1 від 18 жовтня 2022 року. Мова розвивається дуже швидко. Відповідно книги з часом старіють. Шукайте нові перевидання, нові роботи відомих авторів, радьтеся з більш досвідченими розробниками, на що вам варто звернути увагу. Інакше ризикуєте витратити багато часу на вивчення інформації, яка насправді втратила свою актуальність ще кілька років тому.