#personalnie: Java – Książki, które podobno musisz przeczytać

by Patrycja
1 komentarz

Czytając fora internetowe i branżowe blogi często trafiamy na wpisy w których ktoś poleca książki. Na portalu StackOverflow udzielając odpowiedzi ludzie często powołują się na jakiś tytuł z dopiskiem, że warto go przeczytać. Książki te są polecane tak często, że można uznać, że jest to zbiór książek przyjętych wśród programistów jako tzw. „Must read”. Postanowiłam zebrać te polecane tytuły i przedstawić je w tym artykule.  Aktualnie jestem w trakcie czytania książki „Effective Java” i przyznaję – jest świetna.

learn java book

Wielu ludzi poszukuje książki, która pomogłaby im w rozwoju jako developer:

Książki dla programistów Javy według poziomu zaawansowania

Książki zebrałam w grupy według doświadczenia czytelnika. W grupie pierwszej: „Początkujący” zamieściłam zestawienie książek, od których warto zacząć naukę programowania. W kategoriach „Poszukujący” i „Zaawansowany” zamieściłam książki „Must read” najczęściej polecane w internecie.

1. Początkujący

Książki – kompendia czyli sposób na systematyzację wiedzy:

Java. Kompendium programisty – Herbert Schildt
Osobiście polecam książkę Kompendium Programisty, mój faworyt w tej kategorii. Jest to bardzo dobry, kompleksowy przegląd zagadnień Javy. Książka napisana jest w przejrzysty sposób, wszystkie tabelki i zestawienia są czytelne. Autor nie rozwodzi się nad poszczególnymi tematami. Książka ta jest bardziej przejrzystą i skróconą wersją dokumentacji Javy SE.

Java. Podstawy + Java. Techniki zaawansowane – Cay S. Horstmann
Zdarzyło mi się przeglądać te pozycje. Dobre ze względu na to, że na początku możemy zakupić tylko wersję dla początkujących, co obniża ogólną cenę. Jeśli szukamy kompleksowego przeglądu Javy SE musimy jednak przeczytać więcej stron niż w przypadku Kompendium Oracle.

Oracle Certified Professional Java Se 8 Programmer II Study Guide + Associate Oracle Certified Java Se 8 Programmer I Study Guide
Jeżeli zamierzasz w przyszłości zdawać egzamin z języka Java, polecam zakup tych dwóch książek. Można upiec dwie pieczenie na jednym ogniu. Posiadamy kompleksowy przegląd zagadnień jednocześnie przygotowując się do egzaminu Oracle. Książkę OCA przeczytałam i muszę powiedzieć, że jest naprawdę dobrze napisana. Bez zbędnych ceregieli, z zachowaniem kompatybilności wstecznej. Omawiane są zarówno nowe jak i stare elementy API.

This is Test Driven Development – Kent Beck
Książka często polecana dla osób początkujących. Pozwala zapoznać czytelnika z TDD już na początku drogi z programowaniem co może przynieść korzyści w przyszłości.

Thinking in Java – Bruce Eckel
Jedni ją kochają, inni nienawidzą. To kompleksowy przegląd zagadnień, a nawet więcej. Autor bardzo szczegółowo wdaje się w poszczególne tematy. Książka jest gruba, ale warta przeczytania.

Java 8. Przewodnik doświadczonego programisty – Cay S. Horstmann
Niech nie zmyli was słowo „doświadczonego” w tytule. Książka w oryginalne nazywa się „Core Java for the Impatient” czyli tak naprawdę „Java dla niecierpliwych”. Książka ma być przeznaczona dla ludzi, którzy chcą rozpocząć programowanie w Javie w wersji 8.

2. Poszukujący

Programista poszukujący to ktoś, kto zna język w którym programuje, wykonał już kilka małych projektów ale ma przed sobą długą drogę by zostać profesjonalistą. Poszukującym programistą można być przez wiele lat. Nie wystarczy znać język, należy zrozumieć jak efektywnie go stosować, zrozumieć szczegóły jego działania i sposoby integracji tworzonych systemów.

Effective Java – Joshua Bloch
To cienka książka niezwykle często cytowana na StackOverflow, która mimo swojej niepozornej objętości omawia wiele realnych problemów, z którymi spotyka się w pracy programista. Książka odpowiada na pytanie: Jak efektywnie programować przy użyciu dostępnego API Javy? Zwykle, kiedy zastanawiasz się czy „Czy powinienem tak używać tej metody? Czy powinienem napisać to inaczej?” odpowiedź znajdziesz w tej książce.

„I sure wish I had had this book ten years ago. Some might think that I don’t need any Java books, but I need this one.”
– James Gosling, Fellow and Vice President, Sun Microsystems, Inc.


Czyty kod – Robert C. Martin
Słynny Uncle Bob i jego czysty kod to pozycja, którą musisz przeczytać. Osobiście polecam wykłady Boba dostępne na YouTube:
– The S.O.L.I.D. Principles of OO and Agile Design [Youtube]

– Uncle Bob at Yale School of Management[Youtube]

Clean code is not written by following a set of rules. You don’t become a software craftsman by learning a list of heuristics. Professionalism and craftsmanship come from values that drive disciplines.”
― Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship

oraz:

    • The Pragmatic Programmer

– Andrew Hunt, David Thomas

    • Zwinne wytwarzanie oprogramowania

– Robert C. Martin

    • Programming Pearls

– Jon Bentley

    • Java 8 in Action: Lambdas, Streams, and functional-style programming

– Raoul-Gabriel Urma

    • Effective Unit Testing: A guide for Java developers

– Lasse Koskela

    • Design Patterns: Elements of Reusable Object-Oriented Software

– Erich Gamma, Ralph Johnson, Richard Helm, John Vlissides(GOF)


3. Profesjonalista

Java Concurrency in Practice – Brian Goetz and Joshua Bloch
Jedna z najbardziej znanych książek o wielowątkowości.

Java Puzzlers: Traps, Pitfalls, and Corner Cases
– Joshua Bloch and Neal Gafter

Woking Effectively with Legacy Code
– Michael Feathers

Refactoring: Improving the Design of Existing Code
– Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts, Erich Gamma

Peopleware
– Tom DeMarco
Będąc profesjonalistą bierzesz odpowiedzialność także za swój zespół. Książka „Peopleware” opowiada o tym jak efektywnie pracować w zespole i nim zarządzać.
4. Dodatek: Popularny Autor – Joshua J. Bloch

Joshua Bloch

Joshua J. Bloch (ur. 1961) jest inżynierem oprogramowania, obecnie pracującym w Google. Prowadził projekt i implementację licznych funkcjonalności języka i platformy Java, między innymi Java Collections, pakietu java.math i mechanizmu asercji. Bloch jest autorem książki Effective Java, która wygrała 2001 Jolt Award. Bloch posiada tytuł bakałarza informatyki Columbia University i stopień doktora informatyki Carnegie-Mellon University. Bloch pracował jako Senior Systems Designer w Transarc, a następie jako Distinguished Engineer w Sun Microsystems. W czerwcu 2004 r. opuścił Sun i został Chief Java Architect w Google. W grudniu 2004 r. Java Developers Journal zamieścił Blocha na liście „Top 40 Software People in the World”. – Wikipedia.
Książki:

  • Efektywne programowanie w języku Java (Effective Java)
  • Java Puzzlers: Traps, Pitfalls, and Corner Cases
  • Java Concurrency in Practice

1 komentarz

Avatar
M. T 22 kwietnia 2016 - 21:30

Kompendium Oracle’a – świetna inwestycja, która szybko się zwraca :] Poleciłbym każdemu niecierpliwemu żółtodziobowi.

Odpowiedz

Zostaw komentarz