přejít na obsah přejít na navigaci

Linux E X P R E S, Recenze knihy Umění programování v Unixu

Recenze knihy Umění programování v Unixu

umeni_prgani_unix.jpg

Knihy pro programátory typicky obsahují vysvětlení syntaxe jazyka, použití knihoven a překladačů a na každé stránce mnoho řádků kódu. Tahle kniha o programování od Erica Stevena Raymonda je zcela jiná. Neobsahuje snad jediný řádek kódu, nevysvětluje žádnou knihovnu. Jak to tedy může být kniha o programování, říkáte si?


Operační systém Unix má svou vlastní filozofii, díky které již čtyřicet let nejen přežívá, ale je nasazován ve stále větší míře a stává se inspirací pro další operační systémy. A právě především o filozofii Unixu je tato kniha. Hned v první kapitole autor uvádí svých sedmnáct pravidel (modularita, čistota, oddělení atd.), na které dále odkazuje v dalším textu při popisu jednotlivých případových studií.

Čtenář je poté seznámen s historií Unixu. Celá druhá kapitola se detailně věnuje jeho vzniku a počátkům vývoje, rozdělení týmů po „první unixové válce“ a následná komercionalizace. Po tomto šedesátistránkovém úvodu jsou popsány rozdíly mezi jednotlivými unixovými distribuce a také rozdíly mezi Unixem a ostatními operačními systémy. Alespoň tyto první dvě kapitoly by si měl přečíst každý, kdo s Unixem pracuje a nebo se pro něj chystá programovat. Jsou skutečně inspirativní.

Autor také popisuje svůj pohled na ideální operační systém a do kontrastu vedle toho staví nejhorší vlastnosti, které podle něj operační systém může mít. Zde si neodpustím poznámku: tato kapitola (napsaná v roce 2001) se až nepříjemně naváží do Microsoft Windows. Myslím si, že Unix nemá toto nespravedlivé srovnávání zapotřebí. Ovšem později v knize také kritizuje i negativní vlastnosti Unixu, pravdivě přiznává nepovedené vlastnosti, nekompatibilitu mezi jednotlivými verzemi apod.

Po velmi zajímavém a filozofickém úvodu, který mi velmi pomohl zorientovat se a pochopit některé věci z unixového světa, již následuje technická část. Autor popisuje několik návrhů programů, a to na konkrétních případových studiích, zejména na jeho vlastním programu fetchmail (program pro stahování z více typů schránek a různých serverů a s možností je dále posílat na vybraný poštovní účet).

Jsou vyzdvihovány vlastnosti vývoje, jako je otevřený kód, používání výhradně textových protokolů (opět s ukázkami dobrých a špatných protokolů) a textových konfiguračních souborů s jednoduchým formátem. Tvorbu dobrého protokolu autor poté vysvětluje na konkrétních příkladech protokolů POP3 a IMAP, se kterými se důvěrně seznámil při psaní programu fetchmail.

Snad ještě zajímavější kapitolou je návrh formátu pro ukládání dat na disk, a to jednak konfiguračních, ale také datových souborů. Autor popisuje a vysvětluje použití konkrétních formátů jako RFC 822 (formát pro elektronickou poštu), CVS, XML, INI. Dále se zabývá otázkou, zda používat komprimované formáty (například několik dokumentů XML v zip archivu, jak jej používá OpenDocumentFormat). Jsou též popsány mini jazyky (sng, awk, m4 a další) a jejich použití v konfiguračních souborech, či jako generátory konfigurací (typicky m4 pro sendmail).

V dalších statích se dočteme, jak a v čem psát správně dokumentaci k programu (LaTeX, DocBook), jak má vypadat a jak program propagovat komunitě i uživatelům. A nejen dokumentaci, ale i samotný program. Autor srovnává mnoho programovacích jazyků, jejich účel a vývoj. Opět dává přednost tradičním unixovým jazykům jako C před například Javou, která se od té doby hodně posunula kupředu a stala se nejpoužívanějším jazykem. Opět je třeba mít na paměti jisté stáří knihy a brát ji skutečně jako filozofický nadhled a ne konkrétní doporučení. Zde se již věnuje odbornějším tématům jako programování s použitím vláken, meziprocesové komunikaci, zamykání paměti, škálování výkonu a optimalizaci.

V neposlední řadě autor popisuje tvorbu a vlastnosti uživatelského rozhraní aplikace. Ať již se ovládá pomocí parametrů příkazového řádku, či pomocí příkazů v nějakém textovém rozhraní (těch by podle Erica mělo být maximálně sedm, tedy tolik, kolik položek člověk udrží v krátkodobé paměti), nebo snad pomocí grafického rozhraní, autor knihy doporučuje mít navrženou možnost snadné spolupráce mezi několika programy.

Knihu skutečně doporučuji k přečtení, buď v českém překladu, kde jsem nenašel výraznější nesrovnalosti, čímž chválím překladatele, nebo v anglickém originálu.

Název: Umění programování v Unixu
Autor: Eric S. Raymond
Formát knihy: 167 mm × 225 mm, 512 stran černobílých
Datum vydání: prosinec 2004
Nakladatel: Computer Press
ISBN: 80-251-0225-4

Nahoru

Odkazy

Příspěvky

Recenze knihy Umění programování v Unixu
stewe 10. 03. 2011, 18:48:33
Odpovědět  Odkaz 
knizku mam v osobnom vlastnictve, pacila sa mi

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Tomáš Crhonek

Tomáš Crhonek

Pracuji jako administrátor linuxových serverů ve společnosti QCM. Zabývám se především optimalizací DB strojů, zejména PostgreSQL. Hraji si též se storage (od hdd po fs). Vedu si své stránky na www.heronovo.cz.


  • Distribuce: Debian, CentOS, RHEL
  • Grafické prostředí: bash

| blog