Hlavní navigace

Linux Začínáme programovat (kniha)

18. 1. 2001
Doba čtení: 3 minuty

Sdílet

Z anglického originálu „Beginning Linux Programming, 2nd edition“, Wrong Press Ltd., od dvojice autorů Richard Stones a Neil Matthew nám do mateřského jazyka knihu přeložil Jan Škvařil a vydal Computer Press. O své pocity po přečtení této knihy, se s vámi podělím v následující recenzi.

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.

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.

root_podpora

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

Byl pro vás článek přínosný?