Stronnice Chlebika – Java Blog for Newbies

październik 1, 2009

Do kopania łopata, zaś do Javy…

Zaszufladkowany do: Recenzje — chlebik @ 9:58 pm

javapn No właśnie co do Javy? Ostatnio jakoś cicho na blogu, gdyż przerabiam wydaną w czerwcu książkę, o której już na blogu pisałem – “Java. Praktyczne narzędzia”.

Rzecz jest niebagatelna – prawie 900 stron wiedzy, tym cenniejszej, iż z definicji znalezienie konkretnej literatury dotyczącej poruszanych tematów jest dość trudne. Dla kogo jest ta książka? Zasadniczo dla każdego – początkujący w ogóle zobaczą o co chodzi, zaawansowani ugruntują wiedzę, a i czasem znajdą coś, o czym nie mieli pojęcia. Takie są moje odczucia póki co po lekturze rozdziałów dotyczących Anta i Mavena, a także szybkim przejrzeniu tematu związanego z Subversion.

Twórcy książki skupili się na narzędziach właśnie – nie na omówieniu kolejnej biblioteki służącej do niewiadomoczego. Takiej książki jeszcze na rodzimym rynku nie było i trzeba przyznać,  że tym razem Helion się naprawdę postarał.

Całość jest zorganizowana w działy, których to tematyka prezentuje się następująco:

  • narzędzia do budowy projektów – nazwa może mało precyzyjna, ale jeśli napiszę, że mowa tutaj o Ancie i Mavenie to każdy zrozumie o co chodzi.
  • systemy kontroli wersji – tutaj póki co mam zastrzeżenia. O ile jeszcze jestem w stanie zrozumieć wybór SVNa, o tyle omawianie CVS mija się z celem. Nie lepiej było poruszyć coś bardziej nowoczesnego – GITa, Mercuriala czy Bazarek?
  • Continous Integration – temat mi również ostatnio bliski, gdyż w pracy zaczęliśmy używać od pewnego czasu PHPUnderControl. Rzecz na początku wkurzająca, z czasem staje się wręcz naturalnym elementem tworzenia aplikacji. Autorzy rzecz jasna koncentrują się na Javie – Continuum, Openfire, Hudson i CruiseControl.
  • Testy – wspominałem, że może to narzędzia, a nie konkretne biblioteki, no ale testy są w sumie narzędziem wspomagającym programistów, a nie kolejną rzeczą do doklepania. O testach sporo się pisze, gdyż mowa zarówno o testach jednostkowych (JUnit, TestNG), jak i integracyjnych oraz wydajnościowych. Duuużo stron do przeczytania.
  • Mierzenie poziomu jakości aplikacji – to temat cokolwiek drażliwy dla programistów. Co robić by kod był ładniejszy? Albo miał mniej błędów? Tutaj można sobie o tym poczytać.
  • Narzędzia do zgłaszania błędów – każdy kto uważa, że pisanie komentarzy do TODO w BaseCampie nie jest skuteczną metodą pracy z błędami z pewnością powinien zajrzeć – Trac i Bugzilla to narzędzia omawiane w tej sekcji.
  • Dokumentacja – wszystkim jest potrzebna, wszyscy chcieliby aby istniała, nikt za to nie chce jej tworzyć. Tak, tak, to o dokumentacji mowa. Okazuje się, że w tej syzyfowej pracy nie jesteśmy skazani na porażkę!

Na koniec tego szybkiego przedstawienia należy jednakże wspomnieć o dwóch felerach. Pierwszy to cena – choć niestety za wiedzę trzeba płacić, a tutaj wiedzy mamy całkiem sporo. Drugi zarzut to momentami dość poważne niedopatrzenia w kodzie prezentowanych przykładów. Zdarza się tak, że mowa o jakimś nowym ficzerze, zaś w prezentowanym listingu owego ficzera ani widu, ani słychu. Może to i metoda wspomagania zapamiętywania, jednakże w porządnie wydanej książce nie powinny takie rzeczy mieć miejsca. Mimo to – warto!

wrzesień 22, 2009

Thinking in Java

Zaszufladkowany do: Java, Recenzje — chlebik @ 8:39 am

thija4

Ostatnimi czasy odnoszę wrażenie, że ilość dyskusji typu “Czy uczyć się Javy, a jeśli tak to z czego?” jakby wzrosła. Do tego w każdej z nich co i rusz wspomina się o książce Bruce’a Eckela . Jednakże mam wrażenie, że jakoś żaden z dyskutantów nie zwraca uwagi na podstawową cechę tej książki – nie jest ona przeznaczona dla początkujących!

Przyznam szczerze, że sam uległem temu przekonaniu, gdyż Thinking in Java była moją pierwszą książką o Javie. Je też lubię posiadać cegłę, która zdaje się skrywać odpowiedzi na wszystkie pytania, którą można też podprzeć regał kiedy się przekrzywi :)

Problem polega na tym, iż Java sama z siebie jest językiem, w którym próg wejścia jest o niebo wyższy, niż w przypadku choćby języków skryptowych (choć może powinienem powiedzieć, iż dotyczy to bardziej JEE). W PHP, na którym się trochę znam, wystarczy zainstalować WAMPa ( jedna paczka instalacyjna, domyślne ustawienia ), stworzyć plik index.php oraz wpisać przysłowiowe:

echo "dupa";

I viola – “Mamo, tato, umiem programować!”. W przypadku Javy (rozwiązań webowych) bez solidnego IDE i kreatora projektów zajmie to naprawdę sporo czasu. I tutaj tkwi problem – w porównaniu do wspomnianego PHP po przejściu 200-300 stron z książki Eckela wiemy, że gdzieś dzwoni, ale nie do końca w którym to kościele. Natomiast po 300 stronach książki o “PHP&MySQL&Apache&CSS&JS” można na szybko stworzyć znośną stronę, którą można pokazać klasie w szkole, czy wrzucić jako stronkę produktu na aukcji Allegro.

Eckel o tym doskonale wie i nie próbuje iść pod prąd. Poza samym Swingiem, Flexem oraz bodajże SWT nie porusza zagadnień dodatkowych frameworków czy bibliotek. Pozostaje w cichym i ciepłym bagienku Javy SE i nie chce niczego więcej ( choćby bajeranckiego interfejsu we Flexie). I tutaj właśnie tkwi siła tej książki! Siła, którą odkryłem podczas przygotowań do SCJP – czytanie kolejnych rozdziałów z interesujących mnie tematów było wręcz… zabawą? Kiedy osiągnie się pewien poziom znajomości języka Thinking in Java zaczyna nabierać o wiele większego uroku – przestaje być opasłą knigą pełną kodu pisanego drobnym druczkiem, ale składnicą wiedzy, do której każdy powinien zaglądać. Taką biblią dla programisty – może nie trzeba jej czytać codziennie – jednakże dobrze przejrzeć od czasu do czasu. Zwłaszcza kiedy się czegoś nie wie.

kwiecień 27, 2009

Helion się poprawia

Zaszufladkowany do: Blog, Java, Recenzje — chlebik @ 9:00 am

Naprawdę! Wreszcie po okresie względnej posuchy jeśli chodzi o książki o wiadomej tematyce zaczęło się cos w tym temacie zmieniać. Wpierw kolejne wydanie Head First o JSP, potem 8 wydanie z serii Core, drugi tom książki o JSF, nowe wydanie Blocha, a tutaj jeszcze…

.. bardzo ciekawa zapowiedź. Wreszcie wszystko w jednym miejscu, pewnikiem nie będzie to aż tak bardzo rozbudowane jak mogłoby być (choć 888 stron robi wrażenie), ale z pewnością jest to pierwsza na poważnie tego typu pozycja na rynku. Kiedyś w bibliotece UW mignęło mi coś o Ancie, ale to jakaś prehistoria była. Miejmy nadzieję, że Helion nie zawiedzie i pojawi się kolejna ciekawa pozycja na rynku.

kwiecień 17, 2009

Gdyby takie książki pisali dla PHP

Zaszufladkowany do: Java, Recenzje — Tagi:, , — chlebik @ 3:10 pm

Podczas moich studiów politologicznych próbowano mnie nauczyć wielu rzeczy. Mniej lub bardziej przydatnych, czasami przeraźliwie nudnych, a czasem szalenie ciekawych. Była też jeszcze jedna kategoria – przedmiotów połączonych z wykładowcą.

Do takowych należał przedmiot System polityczny RP i miał za zadanie wkuć nam do głowy kolejne artykuły z konstytucji, podstawowych ustaw i inszych tego typu pozycji. Niektórzy lubili, a inni nie. Jednakże na zajęcia z tegoż przedmiotu chodzili często ludzie spoza wydziału, notoryczni imprezowicze i lenie, a także (o dziwo :) ja sam. Dlaczego? Bo zajęcia prowadził dr Ryszard Chruściak (pozdrawiam). Człowiek ten brał udział w pracach nad naszą obecną konstytucją, a opowieści z ówczesnych posiedzeń szanownych gremiów wywoływały nie raz salwy śmiechu. Naprawdę cudna rzecz.

Skąd ten przydługi wstęp? Ano dlatego, iż podobne wrażenie odniosłem podczas lektury niedawno wydanej przez Helion książki – Java. Efektywne programowanie. Jej autorem jest Joshua Bloch, którego najlepiej chyba przedstawi wpis na Wiki. Jest on zatem człowiekiem, który zna się na rzeczy, a swoje doświadczenie po raz kolejny przedstawił szerokiemu gremium publikując drugie wydanie swej znakomitej książki.

Podczas lektury swoiste deja vu, którego podstawy przedstawiłem we wstępie. Z każdego rozdziału, z każdego napisanego zdania płynie szerokim strumieniem wiedza autora, której nie zdobywał na jałowych dyskusjach. W kontekście, iż być może niedługo wezmę się za SCJP, nagle zobaczyłem jak wiele błędów można popełnić nadpisując choćby standardowe metody każdego obiektu w Javie! I to nie tylko błędów, często również nieścisłości (hierarchia klas, ograniczanie dostępu), albo też wskazówek wydajnościowych (typy proste, a klasy opakowujące).

I po tych ochach i achach zadam jedno krótkie pytanie – dlaczego coś takiego nie powstało póki co dla programistów PHP? Choć może to i dobrze – wtedy z pewnością nie kupowaliby książki Blocha kiedy w końcu z tego PHP uciekną :) Lekturę jednakże z czystym sumieniem polecam każdemu. Nie jest to na pewno ‘jednowieczorny’ temat – przeczytać można i całą a jednym podejściem. Potem jednakże jak z innymi mądrymi książkami – należy do niej wracać, wszak udoskonalanie warsztatu programistycznego jest procesem nigdy nie mającym końca.

Blog na WordPress.com.