O Javě toho bylo napsáno už velmi mnoho. Jen různých tutoriálů a úvodů do Javy lze napočítat celou řadu (ve své neskromnosti se musím pochlubit, že jsem též spoluautorem jednoho takového díla), jak tištěných, tak webových. Proto to má každá další kniha velmi těžké, aby se prosadila. S těmito úvahami v mysli se pouštím do čtení výukového kurzu od tvůrců Javy.
Žádnými dlouhými úvody se autoři nezdržují, po stručném představení jazyka Java a souvisejících technologií se jde rovnou na věc - tedy na vytvoření prvního projektu (samozřejmě v Netbeans IDE, jak lze v tomto případě očekávat) a psaní prvních jednoduchých programů. Vše je popisováno velmi podrobně, názorně, se zdrojovými kódy a snímky obrazovky.
Trochu překvapivé je, že práce v Netbeans je popisována jako "pro Windows", kdežto práce v Linuxu a Solarisu je zde spojena s jednoduchými editory. Netbeans totiž existuje i pro tyto systémy (resp. jde o čistě javovou platformu a aplikaci, tedy bez závislosti na systému), naopak i pod Windows si lze vystačit s běžným editorem, bez nutnosti používat IDE. Proč byla zvolena tato filosofie, mi není jasné - možná je to důsledek toho, jak jsou typičtí vývojáři v tom či onom systému zvyklí pracovat.
Následující kapitoly se doslova prokousávají všemi hlavními aspekty jazyka Java a standardních javových knihoven - jen namátkou: rozhraní a dědičnost, genericita, výjimky, kolekce, paralelní zpracování, regulární výrazy atd. "Prokousávají" říkám proto, že jde o informační dávky vskutku vydatné, intenzivní. Vyplatí se číst zvolna, pozorně, a všechno si zkoušet. Text velmi často odkazuje do dokumentace API k jednotlivým třídám a do tutoriálů (odkaz obsahuje vždy celou relativní cestu vzhledem ke kořeni dokumentace).
Velmi oceňuji hlavně důkladně napsanou kapitolu o kolekcích. Má 60 stránek a lze se v ní mnoho naučit jak o kolekcích samotných, tak o algoritmech (řazení, hledání apod.) pro práci nad nimi. Za podobně důležitou považuji také kapitolu o regulárních výrazech, protože to je věc, okolo které mnozí autoři chodí spíše po špičkách, než by se do ní vrhli po hlavě. Kdo si přečte tuto kapitolu, dozví se o práci s regulárními výrazy hodně věcí dobře použitelných i mimo Javu.
V knize je ale i řada kapitol, které nesouvisejí s vlastním jazykem. Například si lze přečíst o prostředí Javy (vlastnostech systému, proměnných prostředí atd.), o práci s archivy JAR (ukládání souborů, práce s manifestem, podepisování...) nebo o nástroji Java Web Start. Všechno jsou to veskrze užitečné věci, které opět patří do skupiny toho, o čem se moc nepíše.
Co v knize nenajdete? Především práci s grafikou. Je tam sice kapitola o technologii Swing, ale jde čistě o ukázku toho, co to umí - nenajdete tam ani řádek kódu, místo toho kapitola překypuje různými (černobílými, ostatně jako v celé knize) obrázky demonstrujícími možnosti Swingu. Naopak úvod do tvorby appletů si tu přečíst lze, a to včetně spousty modelového kódu i mnoha dobře míněných rad a doporučení.
Přílohy jsou v knize dvě: klíčová slova jazyka Java a příprava na zkoušku Java Programming Language Certification. Kdo se zaradoval, že ho tato část dokonale připraví na zmíněnou zkoušku, radoval se předčasně. Hned na začátku textu je varování, že jako příprava není určen, pouze jako jeden z mnoha zdrojů pro tento účel.
Součástí knihy je přiložené CD, na němž najdete JDK pro systémy Linux, Windows a Solaris (je ale samozřejmě lepší si stáhnout novější verze), kompletní dokumentaci Javy, oficiální tutoriály k Javě (vše samozřejmě v angličtině), zdrojové kódy k programům v knize (bohužel jen k několika) a odpovědi na otázky z knihy (v češtině).
Kniha je bezpochyby vynikajícím dílem, které dokáže úplného začátečníka hladce uvést do programování v Javě, pokročilý programátor tam zase může najít informace o tom, jak používat věci, které jsou v Javě 6 nové, nebo kterým zatím nevěnoval příliš pozornosti. Jde ovšem o typický případ toho, kdy je dobré kombinovat více knih (nebo obecně více zdrojů). V tomto případě se jedná hlavně o záležitosti okolo programátorského stylu (v Javě) a věcí jako je grafika, síťování, databáze a mnoho dalšího. Ty totiž v knize nenajdeme a ani to nebylo cílem. Svůj základní cíl, tedy úvod do samotného jazyka, však kniha plní na výbornou.