Java 5 - recenze knihy

java 5 logoMěli byste si koupit knihu o Javě, jíž se celosvětově prodalo více než milión výtisků? Recenze této publikace.

19.12.2005 06:00 | Petr Zajíc | přečteno 22709×

Většinou nejsem moc nadšený, když mám dělat recenzi knihy, ale tuhle jsem psal rád. Jak uvidíte, kniha mi totiž docela "sedla", takže se s Vámi vlastně dělím o něco, co se mi líbí - a to se vždy dělá moc hezky. Takže pojďme se na tuto obsáhlou (přes 1400 stran) publikaci podívat.

Já, Linux a Java

Proč máme vlastně recenzi knihy o Javě tady na Linuxsoftu? Jsem totiž zastáncem aplikací, které tak či onak fungují na více platformách, protože, jak již bylo mnohokrát uvedeno, uživatelé se pak dají lehce získat pro instalaci a používání té či oné platformy. Tedy v našem případě Linuxu. Je to léty potvrzená teorie, a že to funguje si můžete ověřit například na OpenOffice.org, které se přesně takhle multiplatformě chovají.

Jedním dechem ale musíme dodat, že aby fungovaly na více platformách stejné programy, musí existovat rovněž programovací jazyky a nástroje, které tuto vlastnost poskytují - a tady už se volba dosti podstatně zužuje. Nakonec zůstanou na přetřes jazyky C a Java, protože ty mají nejen velmi dobrou schopnost produkovat programy pro více platforem, ale rovněž mají na obou primárních platformách dostatek vývojových nástrojů (tím mám na mysli třeba IDE - integrované prostředí pro vývoj aplikací).

Právě o Javě je popisovaná publikace. Takže sem rozhodně patří. Docela dobře si dokážu představit dobu, kdy bude přenositelnost aplikace naprosto samozřejmým požadavkem pro větišnu software (alespoň pro většinu nového) a věřím, že právě Java bude v takovém případě dobrou odpovědí. Ještě na úvod dodejme, že na našem serveru máme jak seriál o jazyku C, tak i seriál o Javě.

Java 5 - Ivor Horton

Tenhle buclíček z nakladatelství Neocortex mě nejdřív velmi příjemně překvapil svou obsáhlostí. Celkem více než 1400 stran textu je na knize opravdu znát, a když k tomu připočtete cenu 999,- Kč (pozor, u Neocortexu ji můžete koupit se slevou za 850,- Kč) tak ta kniha je opravdu relativně levná. Abyste si udělali alespoň nějakou představu o šíři záběru, uvedu, že kniha má 24 kapitol, dva dodatky a rejsřík na dvaceti stranách! Ale pojďme se podívat na to, co najdete uvnitř.

Obsah

Všechny knihy o Javě trpí pochopitelně tím, že nemohou pokrýt všechna témata tohoto fenoménu. Musí to tak být, protože Java je nesmírně rozsáhlá platforma. Kniha Java 5 se s tímto problémem pere po svém - je v ní toho dost na na to, abychom nemohli říct, že jsme se nic nového nedozvěděli. Javu probírá opravdu kousek po kousku, od základů k složitějším věcem. Obsah by se dal zhruba rozdělit takto:

  1. Základní prvky a konstrukce jazyka, pojmy z OOP
  2. Výjimky
  3. Práce s datovými proudy, serializace objektů
  4. GUI a SWING
  5. XML
  6. Java, národní prostředí a čeština
  7. Co je nového ve verzi 5 jazyka

Celý obsah knihy je zde. Pro našince je nutné zmínit, že poslední dvě jmenované sekce (národní prostředí a novinky Javy 1.5) napsal český autor, pan Ing. Miroslav Virius, CSc. a napsal je opravdu velmi dobře. (Když totiž o problémech s národním prostředím píše anglicky hovořící autor, je to většinou suchá teorie, jestliže to je ale někdo kdo se s problémem denně potýká, pak je to většinou mnohem čtivější).

Styl knihy

K mému velkému potěšení kniha od čtenáře předem neočekává, že bude cokoli z Javy znát, takže bude jistě užitečná jak pro začínající programátory, tak i pro ty, kdo už nějakou tu aplikaci nebo aplet spíchli. Pokud je to jen trochu možné, tak se každá další kapitola opírá o poznatky z kapitoly předchozí a navazuje na ni. Víceméně mají všechny kapitoly podobnou strukturu:

  1. Je uvedeno, co se v této kapitole naučíme
  2. Pak je něco teorie a obrázků či grafů
  3. Pak je uveden kód, který si můžete vyzkoušet
  4. Nakonec je (většinou obsáhlá) stať "Jak to pracuje", kde se krok za krokem dozvíte, co právě napsaný kód dělá, jak to dělá a proč to dělá právě takhle

Pokud to mohu posoudit, zdrojové kódy jsou opravdu čtivé a je jich tam dost. Navíc se kniha nesnaží "nahnat stránky" tím, že po dvou změněných řádcích opíše třístránkový kód celý znova. Vysvětlování jednotlivých programovacích postupů a technik je dostatečně názorné a jen zřídkakdy se při sledování myšlenkového toku autora ztratíte.

V sekci o GUI a SWINGu je rozebírán jeden příklad napříč několika kapitolami. Vytovříte tak krok za krokem GUI aplikaci Náčrtník, která bude umět načítat a ukládat soubory, tisknout je, reagovat na vstup uživatele a tak dále. Výklad, při němž se používá jeden souvislý příklad pro vysvětlení více aspektů programování je mi osobně velmi blízký, takže jsem to velmi ocenil. Ostatně, v praxi vždy potřebujete vědět, jak do sebe jednotlivé požadavky na aplikaci zapadají a jak přispívají k celkovému souladu a funkčnosti kódu.

Hodnocení

Nejprve k tomu, co se mi na knize NELÍBÍ. Asi největší vada na kráse je, že ke knize není dodáváno žádné CD a zdrojové kódy k příkladům musí člověk na webu hledat. Na straně 27 knihy je sice uvedeno, že "Zdorojové kódy pro všechny příklady v této knize jsou dostupné na http://www.neo.cz", faktem ale zůstává, že v době psaní tohoto článku jsem tam žádné kódy nenašel. Anglické zdrojáky lze stáhnout z WROXu, v knize jsou ale názvy proměnných počeštěné a tak by se zejména začínající programátor mohl lehce ztratit.

Druhou, již podstatně drobnější vadou na kráse je liknavá korektura. Výrazy typu "exi-stují" místo "existují" vás při čtení budou tu a tam provázet a tahat za uši (nebo za oči?). Dá se to sice přežít, ale šlo to udělat lépe.

Třetí ryze mojí subjektivní výtkou je skutečnost, že kniha se vůbec nezabývá záležitostmi kolem databází. Věci jako JDBC nebo komponenty vázané na data jsou dnes k vidění v převážné většině aplikací, ale v knize to postrádám. Uznávám sice, že v knize nemůže být všechno, ale nějak mi to tam jako aplikačnímu programátorovi a databázistovi chybí. (Kdybych si směl vybrat, dal bych tam databázové záležitosti místo věcí kolem XML, ale chápu, že všechno být v knize zkrátka nemůže).

A teď kladné věci: Především, Ivor Horton má, zdá se, dar vysvětlovat složité věci pomocí jednoduchých. Vyjádření typu "v javě je výjimka objekt, který je vytvořen, pokud ve vašem programu dojde k nenormální situaci" jsou jistě vstřebatelná pro naprostou většinu čtenářů včetně nováčků. Kapitolu za kapitolou tak lze celou látku velmi elegantně sledovat - což se bohužel o některých publikacích tohoto typu říci nedá.

Za druhé - po skutečně každém příkladu je v knize sekce "jak to pracuje". Bývá téměř pravidlem, že vysvětlení je výstižné, přesné, dosti podrobné a dá se snadno sledovat. To je velmi důležité. Začínajícím programátorům to umožní sledovat kód "krok za krokem" a pro pokročilé to znamená, že mohou knihu otevřít třeba v polovině a jsou hned v obraze.

Za třetí: Poznámky překladatele a korektora jsou většinou přesně tam, kde by měly být. Nejsou upovídané a osvětlují to, co by ještě mělo být řečeno. Jinak odborná korektura je na velmi dobré úrovni; žádné faktické nesmysly jsem v knize nenašel.

Za čtvrté: Dodatky o národním prostředí a Javě 5 knihu VELMI obohatily - v tom nejlepším slova smyslu. Ještě nikde jsem nenašel tak ucelené a kompletní informace týkající se Javy a češtiny - kódováním počínaje a formátováním data konče. Novinky v Javě 5 sice najdete na každém spřízněném webu, ale tady jsou pěkně na jednom místě a hezky s příklady. Rozhodně doporučuji.

Závěr

Takže - koupit nebo nekoupit? Pokud to s Javou myslíte vážně, asi časem dojdete k závěru, že by Vám tato publikace chybět neměla. Kdyby byly k dispozici ty zdrojové kódy (věřím, že to nakladatelství dá do pořádku), dal bych knize na pomyslné stupnici hodnocení (jako ve škole) jistě jedničku. Takhle je to dvojka, ale dvojka velmi dobrá. I když porovnávat dvě podobné knihy je jistě vždycky trochu nefér, tak při srovnání s Java - programujeme profesionálně (Brett Spell) se mi víc líbila tato kniha - a to zejména způsobem podání.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1052