Učebnice jazyka JAVA - recenze 08.02.2001 Když jsem si jako pascalista před mnoha lety kupoval knížku "Učebnice jazyka C" od Pavla Herouta netušil jsem, že si kupuji jednu z nejlepších učebnic, které kdy budou u nás na trhu. Výklad v ní je přehledný a jasný, doplněný hromadou příkladů a úloh. Vždyť u nakladatelství KOPP ještě dnes vychází třetí přepracované vydání! Ve stejném duchu napsal autor i novou učebnici jazyka Java. O tom jak se mi líbila či nelíbila si přečtete v následující recenzi. Kniha je ve formátu A5, má zhruba 350 stran a na přední straně je podivný obrázek, který nemá s obsahem knihy nic společného (jak je zvykem u počítačových knih v nakladatelství KOPP ;-). Po nezbytném úvodu a upřesnění pojmů jako je JDK (Java Development Kit), kompilátor, JIT či API se uživatel seznámí se základními prvky jazyka. Základní primitivní typy, jejich deklarace, operátory, aritmetické výrazy - vše je podrobně vysvětleno a prakticky předvedeno na ukázkových příkladech, kterých je v knize požehnaně. Prakticky na každé stránce je nějaký příklad, kompletní funkční program či alespoň část kódu. Autor se poměrně detailně zabývá i bitovými operátory - což určitě není na škodu, protože spousta věcí neplatí jen v Javě. Hned ze začátku knihy je vysvětlen terminálový vstup a výstup (Věděli jste, že operační systém MacOS nemá žádný terminál?! Pokud tedy napíšete program, který bude číst data ze standardního vstupu, tak na počítačích s logem ukousnutého jablíčka nemusí váš program vůbec fungovat!). Vysvětlení IO problematiky je nutné, protože všechny příklady jsou napsány terminálově. Autor totiž chtěl vysvětlit hlavně rysy jazyka a nezabývat se okenními záležitostmi, které by zde zbytečně odváděly pozornost čtenáře jinam. Poté přistoupil k vlastnímu detailnímu výkladu řídících struktur (if ... else, for, while, do ... while atd.), metod (prozatím se na metody pohlíží jako na funkce) a polí. V další části knihy se již čtenář ponoří do tajů OOP (objektově orientované programování), konkrétně zapouzdření. Velmi precizně jsou vysvětleny pojmy jako je objekt, instance, metoda, prvek třídy, prvek instance, konstruktory i finalizery. Velká kapitola o objektech je na chvíli přerušena výkladem o řetězcích a znacích, ale poté opět pokračuje další problematikou objektů v poli nebo odkazů na objekty. V jedenácté kapitole čtenář vystoupí na druhý schůdek na pomyslné cestě k OOP - dědičnost. Všechny objekty v Javě mají stejného předka - objekt Object, který je zde kompletně popsán. Při výkladu dědičnosti se nevyhneme samozřejmě rozhraním (interface), které elegantně řeší omezení dědit pouze od jednoho předka. Balíky jsou věci pro Javu poměrně specifické a tak je jim věnována celá kapitola. Na třetí stupeň - polymorfismus - čtenář vyskočí poměrně snadno. Ten je totiž vysvětlen krátce a výstižně, je také objasněn problém, se kterým se potýká většina začínajících programátorů v Javě, a to rozdíl mezi rozhraním a abstraktní třídou (kde co použít). Výklad dále pokračuje výjimkami. Velká část knihy je věnována také vstupu a výstupu, tedy čtení souborů a adresářů, čtení přímo z paměti a čtení pomocí rour (i zápis samozřejmě :). Jedna kapitolka pojednává také o systémové třídě System, ve které nalezneme spoustu metod poskytujících velmi zajímavé služby. V úplném závěru knihy je nastíněna opravdová lahůdka, kterou Java nabízí - vlákna. Líbí se mi, jak pan Herout popisuje některé prvky jazyka přímo na příkladech z Java Core API. Pokud se budete totiž chtít o danou látku zajímat detailněji, stačí se podívat přímo do dokumentace k Java Core API. V celé knize se autor již dopředu odkazuje na druhý díl, ve kterém chce popsat programování GUI a Appletů a kde najdeme všechno to, co se do dílu prvního už nevlezlo (např. unicode nebo čeština v Javě). Všechno je psáno jednoduše a vtipně. Doporučuji nejen těm, kteří s Javou začínají, ale i těm, kteří se chtějí obohatit. Knihu si koupíte v každém dobrém knihkupectví, k dispozici je i disketa se všemi příklady (velká většina z nich se ale stáhnout zdarma z internetu) nebo si publikaci můžete objednat přímo u nakladatelství KOPP. Cena je velice příznivá. Učebnice jazyka Java Ing. Pavel Herout, Ph.D., 2000 ISBN 80-7232-115-3 Nakladatelství KOPP - on-line objednávky knihy Stránky podpory - ke stažení všechny příklady z knihy, seznam chyb a jiné užitečné informace Thinking in Java - jedna z nejlepších učebnic Javy v angličtině, ZDARMA ke stažení v HTML, RTF i PDF Autor: Lukáš Zapletal Oblast: Různé