Java pro zelenáče Miroslav Virius, Neocortex, Praha 2001, 1. vydání, 240 stran, cena 249 Kč, v češtině, ISBN 80-902230-9-5 Programovací jazyk Java je jedním ze šlágrů poslední doby. Od roku 1995, kdy byl představen, v něm začalo pracovat přes čtyři miliony programátorů a jejich počet stále stoupá. Je to jazyk, který vychází vstříc současným potřebám a který umožňuje (jak alespoň tvrdí jeho zastánci) zdvojnásobit produktivitu práce oproti klasickým programovacím jazykům typu C++. S rostoucí popularitou jazyka roste i poptávka po jeho učebnicích. Jednou z posledních je i recenzovaná kniha. Autor ji psal pro naprosté začátečníky bez jakýchkoliv předběžných znalostí programování a opravdu na počátku vysvětluje, co je to procesor, operační paměť a další triviality, jejichž význam dnes zná každý jen trochu zkušenější uživatel. Vzápětí však začne Javu porovnávat s jazykem C++, kterému se většina méně zkušených programátorů uctivě vyhýbá a začátečníci často ani netuší, že něco takového vůbec existuje. Dobrá, odpusťme mu to a mysleme si, že je to kapitolka pro učitele, který by chtěl podle této knihy učit. Když jsem se do knihy začetl, líbila se mi čím dál víc. Autor totiž dokáže psát tak, aby se dobře četla a aby vykládaná látka snadno "tekla do hlavy". Přitom nic neslevuje z preciznosti vysokoškolského učitele matematiky, takže osloví i programátora, který hledá přesný popis některé vlastnosti či funkce. Navíc se nestane, že byste v knize narazili na tvrzení, při nichž se odborníkovi otevírají nože v kapse i v kredenci. A to se o řadě knih říci nedá. Ne že by se do textu nevloudila chybička (např. s tvrzením, že k soukromým složkám mají přístup potomci ve stejném balíku, překladač zásadně nesouhlasil), ale to nijak nesnížilo celkově dobrý dojem, který je podtržen i čistým layoutem, jenž napomáhá dobré orientaci v knize. Jediné, co mi trochu vadilo, bylo, že si autor zásadně "myká" (neřekne "radím vám", ale "radíme vám"). Pisatelé současných knih se již většinou nebojí říci "já". Vraťme se ale k obsahu. Autor se v knize neomezil jen na základní vlastnosti jazyka, ale v závěrečných kapitolách vysvětluje na příkladu hry Piškvorky i některé možnosti a funkce grafické knihovny, takže se čtenář naučí vytvářet a používat dialogová a aplikační okna s tlačítky a vstupními poli. Na závěr nezapomněl ani na další vyhledávanou činnost, kterou je tvorba apletů. Knihu bych doporučil všem, kdo se rozhodli vstoupit do světa programování v jazyku Java. Ocení ji nejen začínající programátoři, ale i ti zkušenější, kteří se chtějí seznámit se základy tohoto jazyka a neprahnou po tom, znát jazyk do všech podrobností (nebo možná přesněji: nechce se jim utrácet za tlustou Eckelovu učebnici). Rudolf Pecinovský Core Servlets and JavaServer Pages Marty Hall, Prentice Hall 2000, 575 stran, cena 42,99 USD, anglicky, ISBN 0-13-089340-4 Servlety představují dnes v prostředí WWW velice žádanou technologii. I když je jejich základní princip velice jednoduchý a najdeme ho v řadě manuálů, přece jen jejich programování v sobě skrývá nejeden problém. Také stránky JavaServer Pages (JSP), které představují rozšíření, nebo přesněji nadstavbu technologie servletů, vypadají na pohled jednoduše, ale skutečnost může být podstatně složitější. Kniha M. Halla nabízí vyčerpávající přehled obou těchto technologií. Má tři části. V první se seznámíme s tím, co to je servlet, jak funguje, jak reaguje na různé typy požadavků, jak ho ladit atd. Vedle toho poznáme i nejběžnější webové servery (Tomcat, Java Web Server, JSWDK), postup jejich konfigurace a instalaci servletů na nich. Ve druhé části se naučíme vytvářet a ladit stránky JSP. Zde autor hovoří i o spolupráci JSP a servletů atd. Najdeme tu i kapitolu o vytváření uživatelských značek JSP a jejich knihoven. Třetí část obsahuje přehled podpůrných technologií, které se servlety a JSP sice přímo nesouvisí, ale bez nichž se neobejdeme. Najdeme tu přehled vytváření formulářů HTML, o použití apletů jako uživatelského rozhraní servletů a základní informace o prostředcích pro připojení k databázím (JDBC). Dodatek obsahuje stručný přehled technologie servletů, JSP, JDBC a formulářů v HTML. Autor samozřejmě předpokládá, že čtenář umí programovat v Javě běžné aplikace a aplety a že zná základy značkovacího jazyka HTML. Výklad doprovázejí příklady, jejichž zdrojový kód lze najít na internetu. Autor začíná u příkladů, které svou složitostí nepřesahují známý "Hello, world", ale velice brzy se dostane k příkladům, které lze považovat za skutečné aplikace. Kniha obsahuje úplné, nijak nekrácené zdrojové texty, takže se v nich lze snadno orientovat. Pokud autor ukazuje několik variant téhož příkladu, zvýrazňuje rozdíly ve zdrojovém textu. Kniha je navíc napsána čtivě, místy možná až příliš "odvázaným" jazykem. Případné nejasnosti lze ovšem snadno pochopit z doprovodných příkladů. Výklad je založen na Javě 1.1, takže všechny příklady by měly být snadno přenositelné na prakticky všechny webové servery. Je to velice užitečná a dobře napsaná kniha, kterou ocení všichni, kdo se chystají psát JSP nebo servlety. Miroslav Virius Modern C++ Design Generic Programming and Design Patterns Applied Andrei Alexandrescu, Addison Wesley Longman Inc., 2001, 323 stran, cena 39,95 USD, v angličtině, ISBN 0-201-70431-5 Šablony, šablony a nic než šablony - tak nějak by se dala charakterizovat tato kniha. Pokud je vám jméno autora neznámé, zkuste se podívat na internetové stránky časopisu C/C++ User's Journal (www.cuj.com). Asi vás pak nepřekvapí, že autorova přezdívka je Mr. Template. Setkal jsem se již s několika knihami typu "Myslíme v C++", které vykládaly C++ trochu jednostranně se zaměřením na objektově orientované programování. Generické programování bylo téměř vždy stranou zájmu. Moderní C++ už nejsou jen objekty, ale také poměrně propracovaný mechanismus šablon, který umožňuje někdy až neskutečné věci. Víte například, že v době překladu můžete vytvářet a používat (meta)seznamy typů tak, jako za běhu programu používáte seznamy dat (např. std::list)? Že obyčejný operátor sizeof lze použít k testování dědičnosti dvou objektů v době překladu, a tedy že typové metaseznamy lze setřídit podle dědičnosti? O tom, že nejde jen o samoúčelné akademické hříčky, vás přesvědčí tato publikace. Kniha je rozdělena na dvě části. V první části jsou probrány programovací techniky. Dozvíme se o návrhu tříd pomocí tříd politik (policy class), což je vlastně generická obdoba komponentového programování, o typových metaseznamech, o mapování celých čísel na typy nebo mapování typů na typy, o třídách rysů a o mnoha dalších užitečných záležitostech. Je zmíněn i problém časté alokace malých objektů. Samozřejmě že autor nabídne vhodné řešení. Druhá část je zaměřena na řešení praktických problémů pomocí technik z první části. Nejdříve probereme zobecněné funkce neboli funktory, poskytující uniformní rozhraní pro volání čehokoli v C++, včetně možností zpožděného volání (delayed call). Následuje implementace singletonu (třída s nejvýše jednou instancí), včetně rozebrání různých případů, jako např. dlouhověkosti a Fénix-singletonu. O tom, že jednoduchost konceptu chytrého ukazatele je jen zdánlivá, se dozvíme dále. Také jste někdy potřebovali "virtuální" konstruktor? Šablonové object factories jsou tu pro vás. Na závěr se dozvíte něco o multimetodách, což je vlastně zobecnění virtuálních funkcí. Výklad je velice pečlivý a je doprovázen spoustou příkladů. Jsou probrány a vysvětleny různé možnosti přístupu k danému problému, včetně slepých cest a nástrah. Velice sympatické je, že kniha vlastně popisuje již hotovou C++ knihovnu Loki, kterou si můžete stáhnout ze stránek vydavatele a používat ve vlastních programech. Generické programování a šablony v C++ nejsou zrovna jednoduché záležitosti. Proto je tato kniha určena zkušeným programátorům, kteří o šablonách již něco vědí. Pokud myslíte, že vám C++ už nic nového nedokáže nabídnout, zkuste tuto knihu. Jaroslav Franěk Vypalujeme CD Petr Broža | Computer Press, Praha 2000, 1. vydání, 196 stran, cena 199 Kč, v češtině, ISBN 80-7226-384-6 Vypalovací mechanika se dnes již stala standardním vybavením většiny osobních počítačů. Co si však má počít uživatel, který se dostane k takto vybavenému PC a ještě nikdy žádné cédéčko nevypaloval, nebo uživatel, který má s vypalováním určité zkušenosti, ale i on narazil při tvorbě vlastních CD na nějaký "neřešitelný" problém a hledá radu? Právě těmto uživatelům je určena kniha Vypalujeme CD, v níž lze nalézt odpovědi na nejrůznější otázky. A tím se již dostáváme k vlastnímu obsahu. Publikace je tematicky rozčleněna do sedmi kapitol. Po úvodní kapitole, ve které jsou čtenáři předložena základní fakta spjatá s CD-ROM (historie, kapacita CD...), následuje kapitola zaměřená na detailnější popis principu záznamu dat na CD-R a CD-RW. Ve třetí kapitole autor čtenáře seznamuje se vším, co bude k vypalování potřebovat, tzn. je zde nastíněna problematika vhodné hardwarové (např. porovnání IDE a SCSI řadičů či problematika přetaktovaných CPU) a softwarové (operační systémy - souborové systémy) konfigurace počítače určeného k pálení. Čtvrtá kapitola - trochu teoretičtější - obsahuje jakýsi slovníček pojmů, s nimiž by se měl seznámit každý čtenář, ještě než se pustí do tvorby cédéček. Dozví se zde například, co se skrývá za označením multisession nebo Burn-proof. V páté kapitole autor pokračuje teoretickým výkladem obsahově pokrývajícím popis nejrůznějších formátů cédéček (CD-DA, CD-ROM, Video CD...). Touto kapitolou je uzavřena tato spíše teoretická část publikace. V následujících dvou kapitolách si čtenář může přečíst nejrůznější tipy a triky pro vypalování a také poměrně detailní (uživatelský) popis ovládání a vlastností nejpoužívanějších vypalovacích programů, jako jsou například Adaptec Easy CD Creator Deluxe 4.0 a CloneCD 2.7.1.1. Publikace je zakončena částí Přílohy, která obsahuje seznam a stručný popis vypalovacích programů a nejrůznějších utilit (např. pro tvorbu hudebního CD z MP3 souborů) dodávaných na CD spolu s knihou. Shrnuto - souhlasím s tvrzením, že kniha je jakousi malou "biblí" pro "paliče", neboť v ní lze skutečně nalézt všechny potřebné informace pro tvorbu vlastních CD. Milan Pinte Právo informačních a telekomunikačních systémů od A až do Z V. Smejkal a kol., 1. vydání, Praha 2001, C. H. Beck, 2001, 543 stran, cena Kč, ISBN: Kniha představuje užitečnou pomůcku pro široké spektrum čtenářů, kdy oslovuje představitele tak nesouvisejících odborností, jako jsou právníci a pracovníci v oblasti informačních technologií. Autorům se podařilo přesvědčivě podpořit názor Vladimíra Smejkala v předmluvě - "Právo může posílit informační technologie a informační technologie zase právo". Kniha je praktickou příručkou v šesti dominantních tématech: Elektronické dokumenty, elektronické podpisy a ochrana osobních údajů; Telekomunikace; Elektronický obchod; Duševní vlastnictví a právní vztahy k zaměstnancům; Internet; Počítačová kriminalita. Elektronické dokumenty a elektronické podpisy jsou aktuálním tématem. Ucelené utřídění pojmů a zdůvodněné tvrzení autorů, že dokument může být jak papírový, tak "elektronický", rozlišení listiny a písemnosti ukazuje cestu k aplikaci elektronického světa do prostředí papírového média. U elektronického podpisu je výklad situován i pro sféru veřejné správy. Publikace se rovněž zabývá ochranou osobních údajů podle nového zákona č. 101/2000 Sb. V knize nechybí ani aktuální téma Elektronického obchodu. Autoři ukazují, že proces obchodování zůstává ve svých principech neměnný. Poukazují na právní aspekty obchodování, při zakomponování hlavních specifik spojených s informačními technologiemi. Škoda jen, že nerozšířili téma i do sféry elektronického podnikání (e-business), kde nejde jen o obchody po internetu, ale jsou zde zahrnuta i regulační opatření státní správy, daňové otázky apod., což mohlo přinést řadu neprobádaných právních otázek. Čtenáře určitě zaujmou pasáže o tvorbě a správě domén, uplatňování doménových jmen a zajisté i otázky bezpečnosti internetu. S řešením počítačové kriminality mají autoři - vesměs advokáti a soudní znalci - mnoho zkušeností a ve své knize ukazují, že ani v anonymním elektronickém světě již není právo tak bez šancí i podle našich zákonů. Knihu lze hodnotit veskrze pozitivně, podařilo se s velkým přehledem shrnout hlavní oblasti, kde se právní aspekty a rozvoj informačních technologií střetávají nejvíce. Z textu je vidět, že se autoři aktivně podílejí na legislativním procesu ČR v oblasti uváděných témat. Ing. Jindřich Kodl, CSc.