Recenze

Zdroj: PC World, 1/1995
Autor: Michal Mareš


Pro zájemce "klasický" jazyk C bývá jako vhodná učebnice doporučovaná především kniha The C Programming Language od autorů jazyka C a systému Unix Briana Kerninghana a Dennise Richieho. Ta sice vyšla ve slovenském překladu v nakladatelství Alfa, ale byla po vydání velmi rychle rozebrána. Výuková literatura k jazyku C je poměrně vyhledávaným zbožím a díky aktivitám soukromých vydavatelství je již dnes na trhu výběr z několika titulů z této oblasti.
Učebnice C v podání Pavla Herouta vychází z pedagogické praxe autora. Výklad je postaven na příkladech jazykové konstrukce v C jsou velmi často porovnávány s obdobným Pascalu. To ostatně vychází z tuzemské reality, kde se většina studentů seznamuje na školách právě s Pascalem (mnohdy až příliš jednostranným pohledem). V textu jsou také časté vysvětlivky a poznámky pod čarou. Díky nim je čtenář upozorněn na problémové situace a snáze pochopí význam a užití příslušných konstrukcí. Zvláště vhodné jsou poznámky "Štábní kultura". Zde najdete rady, jak udržovat jednotný styl zápisu zdrojových textů kvůli větší přehlednosti. Když jsem sám začal psát vlastní programy v C a C++, hledal jsem vhodné formální požadavky (tabelace, zápis příkazů, proměnných, jména identifikátorů apod.) pro úpravu zdrojových textů. Pravidla uvedená v této knize ukazují nejčastěji používanou formu mezi profesionálními programy (soudě alespoň podle zdrojových textů, které jsem měl možnost "číst") a doporučuji se jimi řídit. Chyběla mi pouze doporučení pro jednotné pojmenování typů a proměnných - například podle "maďarské notace", kterou používá firma Microsoft ve Windows SDK a v dalších vývojářských prostředcích.Co se týká obsahu knihy, probrány jsou všechny podstatné partie jazyka C.
Nosným "dialektem" je norma ANSI C, na některých místech jsou poznámky a upozornění na rozdíly mezi tímto moderním dialektem a "klasickým" K&R C. Trochu mi scházelo upozornění na odlišnosti v jazyce C++, i když kniha není na C++ zaměřena (a o tomto jazyce v ní není snad ani slovo), jemné rozdíly v některých jazykových konstrukcích se hůře vykládají odděleně. Zavedení poznámek o jazyce C++ (například u přetypování, vyhodnocování některých výrazů nebo v jiných odlišných partiích) by mohlo ulehčit pochopení "jemných nuancí" C++.
Mimo jiných částí jazyka je podrobně vysvětlena práce s ukazateli, řetězci a jedno-či vícerozměrnými poli. Těmto partiím je věnováno značné množství místa (téměř třetina rozsahu knihy), což je vzhledem k jejich významu správné.
V textu není věnováno žádné zvláštní místo standardním knihovnám, ale příslušné funkce (především z oblasti práce se soubory, alokace paměti a řetězových funkcí) jsou probrány v příslušných kapitolách. Chyběly mi však některé další funkce standardních knihoven, především matematické. Nejzávažnější výtku k popisované příručce mám ohledně použité terminologii. Podle českých pravidel skloňované varianty anglických slov, jako pointer, heap či union "tahají za uši". Především slova pointer lze bez větších obtíží nahradit českým výrazem ukazatel (směrník je slovakismus, zavlečený výše zmíněným překladem knihy Programovací jazyk C - slovensky se ukazatel řekne smerník - viz str. 146). Výjimečně se také objevuje rozkolísanost v použití českých a anglických termínů (zásobník - stack apod.).
Publikace je podle mne jedním z velmi dobrých studijních pramenů k jazyku C. Má daleko k formálním definicím a teoretizujícím popisům, obsahuje značné množství příkladů, poznatků z praxe a vysvětlujících komentářů s velkou didaktickou hodnotou. Právě v našich podmínkách je velmi vhodná i koncepce "výkladu přes Pascal". Rozhodně ji doporučuji všem zájemcům o jazyk C.




 Zpět na seznam publikací 
 (Back to list of publications) 
 Zpět na seznam knih 
 (Back to list of books) 
 Zpět na popis knihy 
 (Back to book's description) 

Poslední změna (Last update): 29. 5. 1998
Počet přístupů od (Number of accesses since) 28.5.1998:
Pavel Herout