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?
DigiZone.cz: Skylink o půlnoci vypnul 12 525

Skylink o půlnoci vypnul 12 525

Vitalia.cz: Pepsi Cola mění sirup za cukr

Pepsi Cola mění sirup za cukr

Podnikatel.cz: 3 velké průšvihy obchodních řetězců

3 velké průšvihy obchodních řetězců

120na80.cz: Tipy pro odvodnění organismu

Tipy pro odvodnění organismu

Lupa.cz: Chytré domácnosti? Lidi je moc nechtějí

Chytré domácnosti? Lidi je moc nechtějí

Lupa.cz: IT scéna po brexitu: přijde exodus vývojářů?

IT scéna po brexitu: přijde exodus vývojářů?

Podnikatel.cz: Selhala pokladna k EET. Kdo zaplatí pokutu?

Selhala pokladna k EET. Kdo zaplatí pokutu?

Vitalia.cz: Signál roztroušené sklerózy: brnění končetin

Signál roztroušené sklerózy: brnění končetin

DigiZone.cz: Kauza technik: oficiální vyjádření Novy

Kauza technik: oficiální vyjádření Novy

Podnikatel.cz: Fotogalerie: Jesenka už má skoro 50 let

Fotogalerie: Jesenka už má skoro 50 let

DigiZone.cz: Markíza HD a Dajto? U Digi TV asi minulost

Markíza HD a Dajto? U Digi TV asi minulost

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

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

Měšec.cz: Kurzy platebních karet: vyplatí se platit? (TEST)

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

Vitalia.cz: Je kočka riziko pro těhotnou ženu?

Je kočka riziko pro těhotnou ženu?

Podnikatel.cz: Účtenky v rámci EET? Klidně emailem

Účtenky v rámci EET? Klidně emailem

Měšec.cz: Platíme NFC mobilem. Konečně to funguje!

Platíme NFC mobilem. Konečně to funguje!

DigiZone.cz: Android TV: s jakým pracuje rozlišením?

Android TV: s jakým pracuje rozlišením?

Lupa.cz: eIDAS: Nepřehnali jsme to s výjimkami?

eIDAS: Nepřehnali jsme to s výjimkami?

DigiZone.cz: Sázka na e-sporty stanici Prima vychází

Sázka na e-sporty stanici Prima vychází

Podnikatel.cz: Italské těstoviny nebyly k mání, tak je začal vyrábět

Italské těstoviny nebyly k mání, tak je začal vyrábět