Hlavní navigace

Nebojte se programovat

Petr Kinšt

...je název knihy Jiřího Rubeše určené lidem, kteří vědí, jaký je rozdíl mezi textovým editorem a operačním systémem, ale o programování zatím nevědí zhola nic a chtějí tento stav změnit.

Svým způsobem jde o zcela jedinečnou knihu na trhu. Na rozdíl od jiných knih, které se snaží naučit čtenáře programovat v jednom jazyku a na jedné platformě a v jediném vývojovém prostředí, zvolil autor styl zcela jiný – vysvětluje totiž programování hned ve dvou jazycích, a to v jazyku C a v Pythonu. Přitom pozornost rozděluje spravedlivě mezi uživatele Linuxu i Windows. Jako vývojové prostředí pro Céčko zvolil volně dostupné Lcc-Win32 ve Windows a GNU C (nejen v Linuxu), ale zmiňuje se i o dalších.

Pominu-li nezbytný úvod, začíná kniha stručnou historií počítačů a programování, takže čtenář má šanci dozvědět se, že existuje i spousta dalších jazyků, a v následujících kapitolách zjistí, o čem že to programování vlastně je (definice programovacího jazyka, sestavení algoritmu apod.), jak spustí interpret Pythonu nebo překladač jazyka C, a nechybí nezbytný program „Ahoj, světe!“

Titulní strana

Pátou kapitolu ocení především ti čtenáři, kterým ve vzdělání chybí kapitoly matematiky zabývající se číselnými soustavami. Jednak zde najdou informace o endianitě, naučí se převádět čísla nejen číselnými soustavami rozšířenými v programování, dostanou možnost pochopit bitové operace a Booleovu algebru. Tato témata jsou v jiných knihách zmíněna jen okrajově nebo chybí docela s předpokladem, že je čtenář ovládá.

Následující kapitoly potom probírají oba jazyky od základních datových typů ke složitějším, cykly, rozhodovací struktury, práci se soubory, styk s uživatelem, modulární programování, rozdíl mezi statickými a dynamickými knihovnami atd. – zkrátka vše, co prostě musíte umět. Zajímavě vypadá začátek podkapitoly 9.5, která se věnuje ukazatelům. Jejích několik prvních odstavců je až podezřele podobných úvodní části kapitoly o ukazatelích z Heroutovi Učebnice jazyka C, včetně obrázku! Jde však jen o několik úvodních odstavců, takže to autorovi promiňme – inspiroval se výbornou knihou.

Výklad střídavě přebíhá od Pythonu k C, popř. některé části vynechává, pokud v daném jazyku nemají ekvivalent. To nemusí vyhovovat každému (např. najít správnou syntaxi nějakého cyklu je docela dřina), ale zase jsou pěkně vidět rozdíly mezi oběma jazyky.

Poměrně rozsáhlá osmnáctá kapitola řeší chyby v programech a způsoby, jak se jich zbavit nebo je ošetřit. Nejlepší je jim samozřejmě předejít, a proto je tu zmíněn program LCLint. Mimo něj jsou zde probrány výjimky v Pythonu, používání ladících výpisů a značnou část zabírá povídání o debuggerech (např. DDD). Chybí mi tu však alespoň zmínka o makru assert().

Celá, i když ne moc dlouhá, kapitola je věnována rekurzi. Pro názornost je použit příklad výpočtu faktoriálu, což musí být mezi autory knih velice oblíbený kousek kódu, protože si vůbec nemohu vzpomenout, jestli jsem kdy viděl jiný.

Dvacátá kapitola je věnována pouze Pythonu – věnuje se totiž objektovému programování. Není moc rozsáhlá, ale na všechny tři základní vlastnosti (zapouzdření, dědičnost, polymorfismus) se dostane a dá se z ní pochopit, o čem ty objekty vlastně jsou.

Pomalu jsem nabýval dojmu, že programování grafických aplikací je v literatuře téměř tabu. 95% knih se mu vyhýbá jak čert kříži a začátečník si pak může myslet, že jde o něco nesmírně složitého. Proto mě předposlední kapitola velmi potěšila. Přestože i zde najdeme zmínku o „vyšší dívčí“, je věnováno několik stran psaní programů v Pythonu s toolkitem Tkinter, ze kterých se snadno pozná, že to až tak složité není, ale i na jednoduché okno se napíše docela dost kódu.

A poslední kapitola obsahuje jediný obsáhlejší příklad v Pythonu (autor se zmínil, že ho bude preferovat) – naprogramování grafického RPN kalkulátoru. Tyhle závěrečné příklady považuji za docela užitečné, protože většinou jde o větší a alespoň trochu smysluplný příklad a jedině tak se dá pochopit, jak pospojovat znalosti získané v minulých kapitolách.

Knížka je napsána docela čtivě, ani gramatických chyb jsem moc nenalezl (ale po nich jsem nepátral). Je jasné, že po přečtení nebudete experti na Python ani na Céčko, ale budete mít o obou jazycích základní znalosti, se kterými nějakou dobu vydržíte. Jak se stalo dobrým zvykem, zdrojové kódy si můžete objednat na volitelném CD (včetně použitého softwaru) nebo stáhnout z Internetu.

Knihu vydalo nakladatelství Computer Media, má 288 stran a stojí 210 Kč.

Našli jste v článku chybu?