Konečně je to tady, vážení čtenáři, konečně je to tady i v jazyce
C. Kupujte, neprohloupíte. Ptáte se, co? No přece knížku, na
kterou právě čtete recenzi. Jistě mi prominete tento poněkud
nadnesený úvod, zvláště když vám sdělím, že nejsem v žádném
kontaktu ani s autorem, ani s nakladatelstvím. Učebnice jazyka C
se mi prostě hned zalíbila. Četl jsem ji jako napínavý příběh a
nemohl jsem se od ní odtrhnout, dokud jsem neskončil poslední
stranou. Označení "učebnice", které nese ve svém titulu, si
rozhodně zaslouží. Ke knížce je též dodávána disketa a cca 250
programy. Nejen z toho důvodu bych název publikace doplnil na
"Praktická učebnice jazyka C". Kniha je totiž psána přístupným
neformálním stylem, se zřetelem na to, naučit čtenáře v céčku
programovat. Při popisu příkazů jazyka se nedrží klasického
"manuálového schématu" syntax-sémantika, ale nenásilně čtenáře s
každým příkazem seznamuje, přičemž využívá četných příkladů.
Paskalisté, kteří se rozhodli nenechat si C-vlak ujet, zde najdou
cenné porovnávání paskalských a céčkovských příkazových
konstrukcí. Použitý způsob výkladu nepostrádá na úplnosti. Pro
budoucí céčkaře jsou zde užitečné odstavce, jež popisují běžnou
úpravu programů. Název odstavců "Štábní kultura" jim však, podle
mého názoru, dodává trochu nešťastného "zabarvení khaki".
Musím však dostát svým povinnostem recenzenta a poukázat i na
některé věci, které se mi jevily jako nedostatky. Předem rád
předesílám, že jich není mnoho a že nejsou závažnějšího rázu.
Jablíčko, do kterého tímto kousnu, není v žádném případě příliš
kyselé. Začátečníka nebude asi uspokojovat časté používání pojmů
:datová oblast, zásobník (stack) a hromada (heap)" bez jejich
bližšího vysvětlení. Na straně 117 autor píše: "Jazyk C umožňuje
pouze jeden způsob předávání parametrů a to hodnotou (call by
value)". Na str. 153 a 185 však zavádí volání odkazem. Vzápětí
autor vysvětluje, jak to s tímto pojmem myslí a jak to s ním v
céčku vlastně je. Přesto si myslím, že tento postup je pro
začátečníky matoucí. Poněkud školometsky na mě působí odstavce
"Jak číst komplikované definice I a II." Zde přechází jinak
velice cenný praktický přístup ke zpracovávané látce až do
formálního prakticismu. Udávaná pravidla ke čtení zapeklitých
výrazů v céčku nejsou bohužel zdůvodňována. K odstranění tohoto
nedostatku by nejspíše stačilo "propojit" (třeba příkladem) tyto
odstavce s tabulkou preferencí uvedenou v kapitole 16 a
zdůvodnění by bylo na světě.
Senzacechtivé čtenáře musím nyní upozornit, že se v dalších
odstavcích této recenze s kritickými poznámkami již nesetkají, a
to proto, že jsem k nim opravdu neměl důvod.
Za velice cenné považuji kapitoly "Preprocesor jazyka C" (zde se
čtenář dozví, jak používat záhadné "#-příkazy"), "Vstup ze
souboru a výstup do souboru" (s pěkně vysvětleným rozdílem mezi
binárními a textovými soubory, kteroužto trivialitu většina
autorů učebnic C-jazyka s nadhledem opomíjí), nenásilně a
přístupně objasněný pojem paměťových tříd a konečně zlatý hřeb
céčka, pointery, uvedený v kapitole stejně nazvané. Látka této
kapitoly je pečlivě a pedagogicky citlivě zpracována. Od této
chvíle se pointery samozřejmě stávají nedílnou součástí výkladu a
podstatně přispívají k tomu, že čtenář začátečník vstupuje
zároveň s množstvím přečtených stran do dříve nadoblačných výšin
jazyka C. Z praktického hlediska jsou velice cenné kapitoly o
polích a řetězcích. Na nich je znát, že autor v céčku opravdu
programuje, a proto ví, co je třeba budoucí programátory naučit.
Číst odstavce "Různé způsoby definice dvourozměrných polí" a
"Pole řetězců" bylo pro mě opravdu požitkem. Mnoho začátečníků
někdy nedočte studovaný text, protože postupně přestávají chápat
vznikající souvislosti a z toho důvodu nerozumí dalšímu výkladu.
Pokud k tomuto jevu bude při studiu recenzované knížky docházet,
nebude to určitě vinou autora. Čtenář není odrazen ani v
posledních kapitolách textu, které popisem datových struktur
céčka a práce s bity přispívají ke zdařilému zakončení celého
díla.
Recenzovanou publikaci doporučuji k prostudování všem, kteří
chtějí v jazyce C programovat a k přečtení všem, kteří v něm již
programují. Pochvalně je nutno se zmínit též o vydavateli -
nakladatelství KOPP. Myslím, že literatura, která z této dílny
vychází, kvalitou úspěšně konkuruje našim předním vydavatelstvím
počítačové literatury; ceny jsou však bezkonkurenčně nízké, takže
v tomto směru má mnoho renomovaných vydavatelů co dohánět.