Nenápadní knížečka, která určitě stojí za přečtení,
pokud to s programováním myslíte alespoň trochu
vážně.

Hlavním úkolem každého, kdo se pustí do
programování, je zvládnout složitost. I taková
zdánlivě jednoduchá věc, jako je program pro
vytvoření a poslání faktury, se skládá z velkého
množství drobných krůčků, které je třeba všechny
promyslet a pak naprogramovat. Pokud se k tomu
postavíte z nesprávné strany, s velkou
pravděpodobností se v tom zamotáte a v nejlepším
případě vyrobíte program, který dodáte pozdě, nebude
příliš kvalitní a jeho opravy budou velice obtížné –
a nejspíš ztratíte zákazníka…

Programátor pragmatik nabízí řadu pohledů na
nejrůznější nebezpečí, které zdárnou tvorbu softwaru
ohrožují, ale také řadu cest, jak se těmto nebezpečím
vyhnout. Začíná od pragmatické filozofie, jejímž
základem je přijetím plné zodpovědnosti za svůj díl
práce na projektu a které zahrnuje mimo jiné volbu
programovacího stylu, rozumnou komunikaci s okolím a
kritický přístupem ke světu. Rozebírá nejčastější
programátorské hříchy, jako je opakování již
napsaného kódu, zbytečná provázanost kódu, nedostatky
v testování apod. Nabízí různé přístupy ke zjišťování
toho, co zákazník vlastně potřebuje – názvy kapitol
„Trasovací střely“, „Prototypy a poznámky“ nebo
„Oborové jazyky“ snad ani není třeba komentovat.

Stranou nezůstanou ani základní nástroje, které by
měl mít programátor znát a mít k dispozici, ať se
jedná o editory, ladicí nebo testovací nástroje nebo
třeba generátory kódu.

Dále tu najdeme povídání o předprojektové přípravě
a jejích pastech, o pragmatickém přístupu k
testování, ale také o programovacím stylu, kdy
programy fungují vlastně náhodou – zní to hrozně a
hrozné to také je, ale z vlastní zkušenosti vím,
kolik programátorů se takhle chová.

Autoři neváhají sáhnout pro příkladech, které se
vlastně programování ani netýkají, ale které velice
názorně objasňují, o co jim jde. Například
ortogonalitu zdrojového kódu – tedy požadavek, aby na
sobě jednotlivé součásti pokud možno nezávisely –
vysvětlují na příkladu řízení vrtulníku: Jestliže
snížíte otáčky hlavní vrtule, vrtulník začne klesat,
ale zároveň se nejspíš začne i točit kolem svislé
osy, a pokud tomu chcete zabránit, musíte zároveň
změnit i tah ocasní vrtule… Řízení vrtulníku prostě
není ortogonální systém, a tak se vrtulník řídí
obtížně, a podobné je to i s neortogonálními
programy.

Autorům se podařilo projít prakticky vše, od sběru
požadavků přes návrh, psaní kódu až po testování, a
nevyhnuli se ani otázce sebevzdělávání programátora.
V jedné z příloh najdeme seznam doporučené literatury
a dalších zdrojů, které se podrobně věnují tématům,
které tato kniha probrala jen „pragmaticky“.
Mimochodem, u každé z kapitol jsou i cvičení, která
vás donutí zamyslet se nad probíraným tématem
podrobněji a ujasnit si věci, které vám mohly
uniknout nebo které vám připadaly samozřejmé, ale
samozřejmé nejsou; v jiné z příloh jsou odpovědi na
ně.

Záběr této knihy je velký, ale přitom je napsána
velice přístupným jazykem a je i dobře přeložena,
takže číst ji mi působilo vyloženě potěšení. Neměla
by chybět v knihovně žádného programátora.

Miroslav Virius