Možná, že jste stejně jako já právě dočetli knihu Linux Začínáme programovat nebo už „něco“ z programování pod GNU/Linuxem umíte, ale chcete více, tak hledáte co dál. A právě teď jste nalezli – je to kniha Linux Programujeme profesionálně.
Knih o programování nebo o Linuxu je celá řada, ovšem co se týče programování pod operačním systémem GNU/Linux, dal by se tvrdit opak. Naštěstí se nám, českým programátorům, dostává možnost mít to nejlepší, co je ve světě k dostání.
Ano, mluvím o knize Linux Programujeme profesionálně od autorů Neila Mathewa, Richarda Stonese a dalšího kolektivu autorů, kterým se podařilo vytvořim vcelku úchvatné dílo. Dokonce dalším bodem k dobru této knihy je, že pochází od samotných programátorů píšící pro nakladelství Wrox, které doufám nemusím nijak představovat.
V dnešní době je pro GNU/Linux dostupná celá řada nástrojů k tvorbě aplikací na profesionální úrovni. U těchto nástrojů je samozřejmostí kvalitní dokumentace, která dostatečně popisuje ovládání a vlastnsti těchto kvalitních a volně šířitelných nástrojů. Ovšem některé z těchto dokumentací vám vysvětlí pouze syntaxe, ale neukáže vám to samotné kouzlo vytváření aplikací, a to je pravě to, v čem tato kniha vyniká.
Tato kniha vám ve svých 28 kapitolách představí opravdu mnoho nástrojů, které vám pomohou se naučit nástroje, pomocí kterých budete schopni výtvařet kvalitní aplikace bez nákladů na vývojářské nástroje.
Ovšem nic není zadarmo. Nebojte, jedinou věc, kterou tvůrci této knihy vyžadují, je znalost programovacího jazyka C, který ve většině kapitolách autoří používají, a také, pro jednu kapitolu o tvorbě GUI pro KDE, znalost C++.
Někoho z vás jistě při prohlížení knihy v knihkupectví s názvem, která obsahuje právě „profesionálně“, napadne, co je na tom pravdy. Pro ty z vás, kteří by si tuto otázku kladli, mám odpověď. Ano, u této knihy je tomu tak. Jak jsem již zmínil, autoři patří mezi programátory-odborníky, kteří výběr témat těchto 28 kapitol zvážili podle svých bohatých zkušeností s programováním a vybrali nástroje, které opravdu považují za ty nejdůležitější.
Kniha je psána osvědčenou formou, kterou již autoři Neil Matthew a Richard Stones použili ve své předchozí publikaci Linux Začínáme programovat, kde vytvořili opět uchvatné dílo o používaní nástrojů pro programování v Linuxu. Přestože autoři nevyžadují znalosti z této knihy, může se stát, že u některých věcí, které v ní byly vysvětleny, počítají s tím, že je znáte, a zaměřují se pouze na témata související s jejich druhou knihou. Jistě vy, podobně jako já, máte dost knih, které pouze vysvětlí syntaxi bez alespoň trocha příkladů. V této knize jsem já osobně objevil uplně nový způsob praktického „probírání“ látky.
Autoři probranou teorii vysvětlují i na ukázkových programech a na tvorbě Aplikace, kterou vytváříte v průběhu celé knihy.
Tato Aplikace je vlastně takovým vaším prvním větším projektem, kde si procvičíte využití několika nástrojů v jednom projektu a získáte ještě více zkušeností tím, že je všechny propojíte v jedno dílo. Navíc si i osvojíte některé léty prověřené praktiky (techniky, algoritmy) autorů-programátorů, čímž získáte jejich zkušenost. Ovšem nejvíce zkušeností získáte tím, že budete nově nabyté znalosti a nástroje používat ve svých aplikacích. Neboť jen psaním programů se naučíte programovat.
Na uplném začátku, tedy v první kapitole, vás autoři zasvětí do tajů návrhu aplikace a následného rozvržení funkcí a rozhranní ukázkové aplikace pro půjčovnu DVD. V následující kapitolách proberete databáze PostgreSQL a MySQL, z nichž právě PostgreSQL si vyberete (nebo spíše autoři vybrali) pro tvorbu Aplikace. Následně již začnete pracovat na tvorbě Aplikace pravě návrhem a tvorbou databáze pro ukládání informací. Aplikace bez žádného uživatelského rozhraní (API) by v tomto případě nebyla moc užitečná, a tak s vámi autoři proberou tvorbu grafických uživatelských rozhraní (GUI) v nástrojích GTK, Glade, KDE/Qt. Dále se naučíte, dnes velmi oblíbený, programovací jazyk PHP pro tvorbu dynamických webových stránek a vytvoříte webové rozhranní Aplikace, aby si uživatelé mohli odkudkoli zjistit informace o DVD titulu. V kapitole nazvané Vzdálené volání procedur vytvoříte síťovou verzi databáze a vaše aplikace nyní bude moci fungovat na bázi klient-server. Dokonce se i na příkladu Aplikace naučíte architekturu jménem CORBA pro tvorbu distribuovaných modulárních aplikací, jejichž architektura je založena na objektech. A poslední kapitola související s tvorbou Aplikace je kapitola věnovaná dokumentům XML, které využijete pro katalog DVD titulů.
Ovšem poměr kapitol věnujicí se tvorbě Aplikace oproti ostatním kapitolám je 17:11. Z čehož tedy velmi jasně vyplývá, že v nich najdete infrmace o nástrojích, které nejsou důležité k tvorbě Aplikace, ale to rozhodně neznamená, že byste jim měli věnovat méně pozornosti. Mezi tyto kapitoly patří například:
- Systém správy projektů CVS (Concurent version system)
- Programovací jazyk Python a jeho ročíření pomoci C/C++
- Programování adresářových serverů LDAP
- Lokalizace, bezpečnost, testování a distribuce aplikací
- Programování jádra a vlastních ovladačů
- Bezpečné programovaní v systému Linux
- Tvorba dokumentace a ještě několik dalších věcí
Pokud je vaším prostředím pro vytváření aplikací GNU/Linux, a tuto knihu ještě nevlastníte, tak byste to měli napravit, neboť kniha, která za tuto skvělou cenu vysvětluje takovým kvalitním způsobem takové množství nástrojů, je opravdu velmi dobrá a užitečná koupě.