Programovací jazyky? GNU!
-=-=-=-=-=-=-=-=-=-=-=-=-=-
The wise programmer is told about the Tao and follows it.
The average programmer is told about the Tao and searches for it.
The foolish programmer is told about the Tao and laughs at it. If it
were not for laughter, there would be no Tao.
The highest sounds are the hardest to hear. Going forward is
a way to retreat. Greater talent shows itself late in life. Even
a perfect program still has bugs.
-- Geoffrey James, "The Tao of Programming"
Jan Kasprzak, 11. června 1998
Miroslav Dressler: Programovací jazyky GNU
Podtitul: Volně šiřitelná programátorská prostředí
Computer Press, 1998
ISBN: 80-7226-070-7
Cena: 275 Kč/303 Sk
Dostal jsem k recenzi zajímavou knihu. Titul tohoto článku
je parafrází na její název - "Programovací jazyky GNU". Autorem
je Miroslav Dressler a vydalo ji nakladatelství Computer Press
(http://www.cpress.cz). Kniha popisuje práci s volně dostupnými
vývojovými prostředky z projektu GNU - kompilátory gcc (překladač
jazyka C/C++/Objective C), gpc (překladač Pascalu), g77 (překladač
Fortranu 77), program gmake (zajišťuje kompilaci a sestavování
rozsáhlejších programů) a ladění programů debuggerem gdb.
Největším překvapením, které mi tato kniha způsobila, byl fakt,
že kniha není zaměřena na výše zmíněné softwarové produkty obecně,
ale na jejich verzi pro konkrétní prostředí --- OS/2 a DOS extender
EMX. V knize je zmíněna existence gcc a dalších produktů pod UN*Xem,
existence prostředí DJGPP pod DOSem, ale hlavní zaměření knihy je
prostředí EMX. Tento fakt mě celkem překvapil - proč vydávat manuál
k portabilnímu programu pouze pro jedno prostředí. Vždyť obecný
manuál ke GNU C a dalším programům by se podle mého názoru měl
prodávat lépe.
Na druhé straně je docela možné, že u Computer Pressu přesně
vědí, co dělají. Tuto knihu si zcela jistě mohou koupit uživatelé
DOSu, OS/2 nebo Windows, a naleznou tam pro svůj systém detailní
instrukce. A uživatel UN*Xu prostě přeskočí první kapitolu o EMX
a dvě poslední kapitoly, zaměřené na integrovaná vývojová prostředí
a grafickou knihovnu VESA. Uživatel UN*Xu bude také pravděpodobně
natolik inteligentní, že si GCC, resp. GCC.EXE přeloží jako gcc.
Můj názor na knihu je v podstatě kladný a myslím si, že je
dobrá jak pro uživatele UN*Xu, tak pro uživatele zmiňovaných
proprietárních systémů. Já osobně jsem si velmi rád přečetl kapitolu
o gdb (tedy pardon, o GDB :-) a našel jsem tam několik vlastností,
které jsem ještě neznal. Je také dobré, že se touto knihou dostává
informace o dalších volně šiřitelných programech do povědomí
uživatelů proprietárních systémů.
K některým rysům knihy mám také své výhrady:
- autor má zřejmě jen velmi mlhavou představu o tom, co je GNU,
co je Linux a jak tyto pojmy spolu souvisí. Cituji z úvodu knihy:
Základní myšlenkou projektu GNU (GNU's not UNIX) je bezplatně
zpřístupnit programové vybavení původně určené pro operační systém
UNIX uživatelům ostatních operačních systémů. Tato myšlenka byla
nejsilněji akcentována v době vytváření operačního systému Linux,
se kterým se současně vyvíjel překladač programovacího jazyka C.
O tom co je hlavní myšlenkou projektu GNU lze samozřejmě
diskutovat, ale podle mého názoru je to spíše vývoj programového
vybavení pro UN*X, nikoli (jen) jeho zpřístupnění uživatelům jiných
systémů. A fakt, že překladač gcc je o nějakých pět šest let starší
než Linux, je také obecně známý.
- písmo Garamond považuji za dost okoukané, ale na druhou stranu
je celkem hezké. Ovšem tímto písmem by měla být sázena celá
kniha (vzorec na straně 93 je zřejmě v něčem jako Times - Quark
nejspíš neumí matematiku v jiném fontu). Navíc kombinace poměrně
výrazného Garamondu s lehkým Courierem je podle mého názoru
do očí bijící. Ostatně, už když si v Courieru napíšete něco jako
-fomit-frame-pointer, vypadá to dost divně.
- v některých místech chyby (sazeče?) zapříčiňují i mylnou
interpretaci textu (např. strana 78, třetí řádek shora má být
odsazen - levostranné mezery v Makefile nejsou nevýznamné).
- kniha má na obalu obrázek kompaktního disku; myslím, že by daleko
prospěšnější bylo, kdyby kniha obsahovala skutečné CD s instalací
GNU vývojového prostředí třeba pod EMX (i když si myslím, že na CD
by se navíc mohlo vejít i DJGPP a zdrojové texty GNU programů pro
UN*X, a možná i dokumentace, převedená z info do HTML.
Výše uvedené výhrady považuji za málo významné a knihu
doporučuji ke koupi každému, kdo zmíněné vývojové prostředky používá
nejen pod DOSem (OS/2, Windows...), ale i v nativním UN*Xovém
prostředí. Existence této knihy je pro mě důkazem, že Open Source
software se i u nás dostává do popředí zájmu uživatelů natolik,
že se nakladatelům vyplatí vydávat k tomuto softwaru českou
dokumentaci.
výheň