Učebnice jazyka JAVA - recenze

Lukáš Zapletal 8. 2. 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.

OBAL

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

Našli jste v článku chybu?
Měšec.cz: Kurzy platebních karet: vyplatí se platit? (TEST)

Kurzy platebních karet: vyplatí se platit? (TEST)

Vitalia.cz: Čejkovické bylinkové slavnosti už tuto neděli

Čejkovické bylinkové slavnosti už tuto neděli

Vitalia.cz: Ženy, které milují příliš, jsou neštěstí

Ženy, které milují příliš, jsou neštěstí

Podnikatel.cz: Česká pošta vycouvala ze služby ČP Cloud

Česká pošta vycouvala ze služby ČP Cloud

Lupa.cz: Elektronika tajemství zbavená. Jak s ní začít?

Elektronika tajemství zbavená. Jak s ní začít?

Vitalia.cz: Kedlubna, neobyčejná zelenina

Kedlubna, neobyčejná zelenina

DigiZone.cz: Skylink přepracoval web

Skylink přepracoval web

Podnikatel.cz: OSA zdraží, ale taky přidá nový poplatek

OSA zdraží, ale taky přidá nový poplatek

DigiZone.cz: ČTÚ červenec: rušení trochu vzrostlo

ČTÚ červenec: rušení trochu vzrostlo

Vitalia.cz: Co potřebujete vědět o zubech moudrosti?

Co potřebujete vědět o zubech moudrosti?

Lupa.cz: Nechcete datacentrum? Jsou na prodej

Nechcete datacentrum? Jsou na prodej

DigiZone.cz: Vláda schválila digitální vysílání ČRo

Vláda schválila digitální vysílání ČRo

Měšec.cz: Test: Výběry z bankomatů v cizině a kurzy

Test: Výběry z bankomatů v cizině a kurzy

DigiZone.cz: Hodlá Markíza skončit v DVB-T?

Hodlá Markíza skončit v DVB-T?

Lupa.cz: Co najdete uvnitř kosmické sondy?

Co najdete uvnitř kosmické sondy?

DigiZone.cz: Elektrická Formule E. Práva má Arena Sport

Elektrická Formule E. Práva má Arena Sport

Měšec.cz: Co když na dovolené přijdete o kartu?

Co když na dovolené přijdete o kartu?

Měšec.cz: Se stavebkem k soudu už (většinou) nemusíte

Se stavebkem k soudu už (většinou) nemusíte

DigiZone.cz: Sky Deutschland: dvakrát fotbal ve 4K

Sky Deutschland: dvakrát fotbal ve 4K

Vitalia.cz: Vakcína Cervarix je oficiálně i pro chlapce

Vakcína Cervarix je oficiálně i pro chlapce