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ň