Po krátké předmluvě od Alana Coxe, významného vývojáře jádra, se autoři pouští do vysvětlování shellu. Vysvětlí problematiku skriptů, jejich spouštění, přesměrování vstupu a výstupu nebo například roury a začnou se detailně zabývat syntaxí shellu bash. V závěru kapitoly se seznámíte s příkladem „Databáze CD titulů“. Tento příklad vás bude provázet všemi kapitolami, budete ho postupně přepisovat do jiných jazyků, přidávat hezčí GUI apod. Jeho první forma napsaná čistě v bashi je spíše jen ukázkou toho, jak je bash mocný nástroj, než typickým příkladem použití.
Po bližším seznámení s bashem se čtenář vrhá střemhlav do jazyka C. V několika dalších kapitolách je detailně popsán vstup a výstup, přístup na souborový systém, prostředí a jeho proměnné, logování. Terminálům je věnována celá kapitola. Výklad dále navazuje knihovnou curses, kde dostává ukázková databázová aplikace elegantnější vzhled. Autoři pokračují správou paměti a zamykáním souborů, kde stejně jako v celé knize upozorňují čtenáře na fakt, že uvedené postupy neplatí jen pro Linux, ale pro většinu UNIXových operačních systémů. Příklad s databází CD je poté přepsán do dbm databáze, která je tímto vysvětlena.
Pár stránek si také vzalo povídání o vývojových nástrojích jako je makefile, RCS či CVS a o ladění za pomoci GNU debuggeru gdb a profilování gprof. Poté začíná pro mě nejzajímavější část programování v Linuxu a to jsou procesy, signály a jejich vzájemná komunikace. Celé problematika je velmi srozumitelně popsána. Celá aplikace „Databáze CD“ je znovu „překopána“. Tentokráte ji autoři rozdělí na dva samostatné procesy (server a klient) a pomocí pojmenované roury FIFO zajistí vzájemnou komunikaci.
Po objasnění vzájemné komunikace mezi procesy se čtenář ponoří do poměrně složité problematiky vláken a jejich vzájemné komunikace pomocí semaforů, front zpráv a sdílené paměti. Nakonec se uživatel seznámí s velmi důležitou vlastností UNIXových systémů – sockety.
Root.cz pořádá školení Linuxu:
Tak trochu oddychovou kapitolou (i když poměrně rozsáhlou) je povídání o TCL/Tk. Ve dvou kapitolách (jedna je o TCL a druhá je o Tk) se čtenář naučí používat striptovací interpretovaný jazyk TCL (Tool Command Language), dozví se nutnou teorii o X Windows a seznámí se s doplňkem pro TCL – Tk. Jedna samostatná kapitola je věnována základům programování s knihovnou GTK+. Celá ukázková aplikace je opět přepracována – tentokrát do konečné podoby pro X Windows.
Svou cestičku si do knihy našel i PERL. Asi na třiceti stranách je vysvětleno základní minimum pro vytváření jednodušších skriptů. Ve finále celé knihy si můžete přečíst něco o HTML a CGI. Na příkladech je vysvětlen základ jazyka HTML a v další kapitole, která navazuje, najdete základy programování CGI skriptů v jazyce C (jazyk C ale není zrovna vhodný pro programování na web, používanější je PERL). Poslední kapitola je lahůdkou pro pokročilé programátory či badatele. Pojednává o programování ovladačů. V této kapitole se čtenář dozví nejen o základech programování jádra, ale i o věcech okolo, tzn. jak správně psát moduly, jak je ladit apod. Autoři předvedou ukázkový modul, na kterém všechny postupy vysvětlí. Od prvních inicializačních funkcí až k závěrečnému zavedení a otestování.
Autoři nešetřili poznámkami týkající se jiných platforem a systémů, takže čtenář snadno získá jistý přehled o přenositelnosti, které je navíc věnován dodatek. V úplném závěru tohoto díla najdeme přeloženou GNU licenci, seznam internetových zdrojů, bibliografii a nutný rejstřík.
Kniha je napsána srozumitelně, je výborně graficky upravena a dobře se v ní orientuje. Připadala mi trošku formální – v celé knize jsem nenašel žádný pořádný vtípek či žertík, kterými tak nadupal například pan Satrapa svoje povídání o PERLu. Je to podle mne příjemné zpestření nudné četby. Na tomto místě bych chtěl podotknout, že při čtení mi vadilo velké množství překlepů. Nebyly to ale překlepy gramatické (ty se v knize snad nevyskytovaly), ale jednalo se o naprosto fatální chyby ve vysvětlování jednotlivých příkazů či zdrojových textů nebo v komentářích příkladů, kterých je v knize víc než dost. Logika byla v některých výrocích naprosto v pozadí a bylo evidentní, že se korektor zaměřil spíše na gramatickou stránku věci a o tu věcnou se příliš nezajímal. I přes tento handicap se jedná o vysoce kvalitní knihu, kterou bych doporučil všem, kteří hodlají začít v Linuxu programovat, i těm, kteří mají již v Linuxu něco naprogramováno.
Linux Začínáme programovat
912 stran, Computer Press
ISBN 80–7226–307–2