Kiedy na Zachodzie wybuchła rewolucja Javy, mogliśmy sobie popatrzeć. Minęło lat niemało, a na rynku jak była kompletna posucha tak i trwa nadal. Dobrze, że chociaż jest skąd wyczytać opis języka.

     „Java™” (pozazdroszczono producentowi Najpopularniejszego Systemu™ manieryzmu?) to przede wszystkim kompletny opis wszystkich konstrukcji języka w wersji 1.0 (w dodatku zamieszczono opis zmian w wersji 1.1). Java jako taka aż tak się nie zmieniła, więc i dzisiaj z pomocą tej książki możemy napisać poprawny program. Szkoda, że autorzy nie starają się wyjść poza opis składni — nie przekazują w wystarczającym stopniu idei, nie omawiają typowych programistych konstrukcji charakterystycznych dla języka. Czytelnik przyswoiwszy sobie reguły musi sam dojść do tego, w jaki sposób zdobytą wiedzę wdrożyć w życie — to tak jakby autorzy sprezentowali czytającemu rozsypane puzzle ograniczywszy się do wyjaśnienia w jaki sposób można je złożyć — panoramicznego obrazu Javy z tej książki nie uzyskamy. Ze szkodą dla tegoż obrazu podzielono materiał o wersjach — zamiast włączyć najnowsze informacje w treść główną, autorzy zdecydowali się na najprostsze rozwiązanie, brak zmian i umieszczenie dodatku. Wygodne… ale nie dla czytelnika.
     Gdyby poprzestano na tym uznałbym, iż otrzymujemy skromny, tani wykład języka. Być może zrobiłaby się z tego broszura, która mogłaby się nie sprzedać — poszerzono więc materiał o kolejne rozdziały. Tym balastem stało się krótkie wprowadzenie do języka, dość mylące ponieważ powtórzono w sposób niekompletny dalsze rozdziały, bardzo pobieżny opis pakietu I/O (który zdążył się już zestarzeć), podstawowe struktury danych i prześlizgano się przez programowanie natywne dla systemu. To poszerzenie nie wnosi w zasadzie nic, oprócz podwyższenia ceny.
     To prawda, iż na niewiele sposobów można wykorzystać niniejszą pozycję — w zasadzie ogranicza się do formalnego poznania składni Javy i ewentualnego odwoływania się przy wątpliwościach co do prawidłowego zapisu. Nauka nie sprawi zbyt wiele radości, ale nauczyć się można — aby napisać większy program trzeba i tak sięgnąć po dokumentację (dokładną dokumentację) pakietów.
Można by długo narzekać, ale nie zmieni to obecnego stanu — polski programista nie ma zbyt szerokiego pola manewru. Osobiście przebolałem wydatek na niepotrzebne mi gadgety, końcowa cena na szczęście i tak należy do umiarkowanych, a przydaje się i to jest najważniejsze. A że zabrakło w niej serca? Mówi się trudno…
     Werdykt — ledwie, ledwie ale na 4 jeszcze się łapie.
Dla tych, którzy nie zdążyli oswoić się z nowym językiem przygotowano przepis jak zmienić i język i przyzwyczajenia — przepis pod tytułem „Java™ dla programistów C/C++”. Pozwala, choć tego nie próbowałem, wejść w Javę mocnym uderzeniem bez jej całościowego zrozumienia — pokazuje czym Java się różni, gdzie wymaga dokładniejszego kodu, na co nie zezwala. Na dobrą sprawę, materiał tu zawarty powinien być włączony w powyżej omówioną książkę, gdyż po odpowiednim skondensowaniu, treści nie ma tu zbyt wiele. Na upartego można po ten tytuł sięgnąć, jednak z dydaktycznego punktu widzenia nie jest to posunięcie zbyt szczęśliwe.
     Informacje pomagające uchwycić różnice między językami powinny znaleźć się w podręczniku, a uczenie „tłumaczenia” utrwala jedynie złe nawyki. Programista powinien myśleć językiem, w którym programuje — jeśli będzie rozumował kategoriami C++ (nie mówiąc już o C), a pisał w Javie, prowadzić to tylko może do kalekich konstrukcji, potykania się co chwila o niuanse i niepotrzebnych irytacji. Trudniej też napisać dobry program nie czując klimatu danego narzędzia, a posługując się kalkami z innego — nawet w książkach o Javie można znaleźć sporo konstrukcji wziętych żywcem z C++, a to tylko dlatego, że ich autorzy nadal myślą kategoriami tego drugiego.
Treść odpowiada tytułowi, materiał w zasadzie pokrywa najważniejsze różnice, w dalszej części niepotrzebnie (po raz kolejny kompleks objętości?) dodano poboczne tematy o grafice, apletach, itp. — generalnie można uznać, iż autor wywiązał się z zadania jakie sobie nakreślił, ale lepiej byłoby, gdyby pojawiły się pozycje pozwalające dogłębnie zrozumieć (!) istotę Javy.
     Werdykt — 2 ze względów dydaktycznych oraz nadmiarowość treści.
Info:
Java™, Ken Arnold, James Gosling, WNT, 1999 (Addison-Wesley, 1996).
Java™ dla programistów C i C++, Barry Boone, WNT, 1998 (Addison-Wesley, 1996).
Legenda:
1 — szkodzi zdrowiu, zalecana do obiegu wtórnego,
2 — w celach zniwelowania luzów w biblioteczce w sam raz,
3 — poprawna, ale lepiej rozejrzeć się za czymś ciekawszym,
4 — dobra rzecz, docenia się ją każdego dnia z wyjątkiem świąt,
5 — boska, można kupić i czerpać natchnienie z samej okładki.
Archiwalny news dodany przez użytkownika: MACiAS.
Kliknij tutaj by zobaczyć archiwalne komentarze.

Oznaczone jako → 
Share →