Miałem ostatnio przyjemność studiować książkę autorstwa Joshuę Blocha – bardzo ciekawa postać świata javy, doktora informatyki z Carnegie Mellon University, aktualnie pracującego jako Java Chief Architect w Google. Od wielu lat realizujący projekty i badania głównie związane m.in. z javą, systemami rozproszonymi. Bogate doświadczenie akademickie, komercyjne (przed Google pracował w Sun’ie) oraz pochlebne opinie czytelników gwarantują, że każda książka której jest autorem nie schodzi poniżej pewnego merytorycznego poziomu. Nie inaczej jest też w przypadku książki Effective Java: Programming Language Guide (w Polsce Java. Efektywne programowanie, Helion).
To czym zdecydowanie różnią się książki Blocha od innych dotyczących programowania czy też javy, jest to że w każdej z nich skupia się na pewnej niszy w temacie o którym pisze. W przypadku efektywnego programowania, skupia się na praktycznych aspektach tworzenia oprogramowania, dobrych, sprawdzonych wzorcach postępowania przy jego projektowaniu oraz na specyficznych dla javy zagadnieniach. Autor porusza 78 tematów, z którego każdy to kilku stronnicowy artykuł szczegółowo omawiający problem. Materiał zawarty w książce został skatagoryzowany według pewnych większych grup problemów, które porusza. Autor rozpoczyna od omawiania zagadnień związanych z tworzeniem i usuwaniem obiektów, następnie przechodzi do tych związanych z projektowaniem klas, w tym aspektów specyficznych dla javy. Można tutaj dowiedzieć się m.in. dlaczego należy uważnie używać singletonów, podstaw działania garbage collectora, jak definiować prawidłowe metody hashCode czy equals, dlaczego warto stosować interfejsy czy zastępować dziedziczenie kompozycją. Na uwagę zasługe fakt, iż autor stara się być jak najbardziej obiektywny, dostrzega zarówno zalety proponowanych przez siebie rozwiązań jak i ewentualne wady. W dalszej kolejności omawia takie konstrukcje jak typy ogólne, wyliczeniowe i adnotacje. Udziela praktycznych wskazówek jakich konstrukcji języka i praktyk programowania używać, a jakie są już przestarzałe. W ostatnich rozdziałach omawia sposoby wydajnego i rozsądnego korzystania z wyjątków, dzieli się doświadczeniem w kwestii współbieżności oraz serializacji. Cała wiedza z książki jest gdzieś pewnie rozsiana po internecie w postaci pojedynczych postów na blogach czy artykułów. Wydaje mi się jednak iż warto takie kompendium wiedzy nt problemów specyficznych dla javy mieć zawsze pod ręką i od czasu do czasu odświeżyć swoją pamięć. Gorąco polecam książkę Java. Efektywne programowanie . Tymczasem uciekam do kolejnego dziecka Blocha – Java puzzlers .
0
komentarzy