Recenze

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


Druhý díl úspěšné a poměrně podařené učebnice jazyka C navazuje na výklad "pokročilejších" programovacích technik v tomto jazyce. Vazba "druhého dílu" na první je poměrně volná: původní knihu rozhodně nepotřebujete, pokud jste schopni porozumět všem obvyklým jazykovým konstrukcím a máte trochu praxi v psaní programů v "céčku". Spíše se jedná o zcela samostatnou příručku, až na občasné odkazy pod čarou na výklad určitých partií do "prvního dílu". Na rozdíl od něj není text postaven na srovnání s Pascalem,což odpovídá i zaměření na čtenáře, který již základy jazyka C zvládl. Autor se zaměřuje výhradně na C a úmyslně se vyhýbá jazyku C++.
Obsah knihy je formálně rozdělen na výklad některých vlastností ANSI C, dále popis detailů implementace a specifických vlastností překladače Borland C++ a na přílohy, ve kterých autor radí, jak postupovat při práci na rozsáhlejších projektech. V první části, zaměřené na ANSI C (kromě očekávaného Borlandu autor srovnává také implementaci standardního překladače v v prostředí blíže neurčeného Unixu), jsou vyloženy zejména standardní knihovny. Najdete zde podrobně vyloženou práci se soubory pomocí funkcí nad datovým typem FILE, včetně velmi užitečných poznámek o problematických situacích při práci s nimi.
Autor prozkoumal také chování knihoven různých překladačů se "záludnými" funkcemi, jako jsou změny velikosti vyrovnávací paměti nebo problémy synchronizace vstupního a výstupního ukazatele ve vyrovnávací paměti. Dále jsou popsány důležité standardní knihovny ANSI C, jako jsou funkce pro práci s řetězci, časem, matematické funkce, funkce pro nelokální skok (setjmp/longjmp) a obsluhu signálů. Zvláštní pozornost je věnována funkcím s proměnným počtem parametrů (zde bych však přivítal poznámku o rozdílech v deklaraci výpustky v C++ ) a pomůckám pro ladění, jako jsou ověřovací body (assertion) či využití podmíněného překladu. "Ostříleným borcům" může sice podobný výklad připadat až triviální, avšak sám jsem měl možnost se přesvědčit, že mnoho tzv. "programátorů" v jazyce C podobné prostředky nezná nebo jich ke své škodě nepoužívá. Ostatně, kniha je učebnicí a nikoliv referenční příručkou.
V druhé části, co do počtu stránek menší, se autor věnuje "špecifikám" Borland C++ a DOSu. Na poměrně malé ploše jsou tu vyložena jazyková rozšíření pro práci s ukazateli a použití přerušení, resp.psaní funkcí pro obsluhu přerušení.Text ovšem nepostihuje všechny situace, do kterých se při použití příslušných partií jazyka dostanete (především potíže s bloky paměti o velikosti nad 64 KB). Samozřejmě vzhledem k zaměření textu zde nenajdete ani žádné podrobnosti například o funkcích jednotlivých přerušení. Dále jsou v této části knihy popsány základní funkce pro práci s rozšířenou (XMS) a expandovanou (EMS) pamětí.
V přílohách autor "uděluje" praktické rady pro řešení větších projektů. V daném rozsahu si samozřejmě neklade za cíl suplovat specializovanou literaturu o softwarovém inženýrství - dostatečně výmluvný je sám o sobě název této kapitoly: "Malé úvahy o velkých projektech". "Drobné" rady, týkající se například uzavírání smluv a vztahů se zákazníkem vůbec, viditelně pocházejí ze života a nejsou opsané z teoretických spisů. Pojednání završuje "Desatero přikázání pro programátory v C" (akorát bych se z něj nechtěl vždycky zpovídat..).
Jak napovídá již obsah, kniha je určena především těm, kteří se chtějí zdokonalit v programování v jazyce C a zvládli již na dobré úrovni základy jazyka. Proto si myslím, že název knihy je trochu zavádějící: nejde ani tak o učení jazyka C, jako spíše o jeho použití. Doporučil bych ji hlavně studentům, kteří pokračují ve studiu jazyka C, a také těm programátorům, kteří si nejsou zcela jisti svými znalostmi.




 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