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:
- Základní prvky a konstrukce jazyka, pojmy z OOP
- Výjimky
- Práce s datovými proudy, serializace objektů
- GUI a SWING
- XML
- Java, národní prostředí a čeština
- 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:
- Je uvedeno, co se v této kapitole naučíme
- Pak je něco teorie a obrázků či grafů
- Pak je uveden kód, který si můžete vyzkoušet
- 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í.