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?

12. 7. 2013 10:23

viper (neregistrovaný)

Pan Kosina to napsal naprosto trefně. Bohužel jsem to dřív nevěděl, takže jsem se učil "programovat" tím, že jsem učil nějaký jazyk. A když jsem se jazyk naučil a znal všechny jeho možné zápisy zjistil jsem že programovat neumím vůbec. Proč ? protože neumím algoritmy. Moderní aktivní a hlavně dobré programování je hlavně o algoritmech, vlastně jenom o algoritmech. Chtěl bych znát programátora co dokáže napsat jednoduchou funkci sort bez použití algoritmu.
Pokud to někdo dokáže a tím nemyslím, že…

23. 12. 2002 9:26

mao (neregistrovaný)

1) ridic musi predevsim umet ridit. Jak funguje motor ho nemusi vubec zajmat. Sekretarka take nemusi vedet jak funguji udalosti ve Windows pri stisku klavesy aby mohla napsat dopis.

2) Schopnost algoritmy vytvaret a znalost beznych reseni nejakych uloh jsou 2 ruzne veci, tak si je neplette. Nejdrive se musi ten clovek naucit nejaky obecny problem formulovat, zpracovat a resit. A potom se teprve muze pidit po nejake teorii, ktera mu pomuze vyresit konkretni situace. Ty potom nalezne ve Vami n…

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

DigiZone.cz: Test Philips 24PFS5231 s Bluetooth repro

Test Philips 24PFS5231 s Bluetooth repro

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Měšec.cz: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Vitalia.cz: I církev dnes vyrábí potraviny

I církev dnes vyrábí potraviny

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Podnikatel.cz: Snížení DPH na 15 % se netýká všech

Snížení DPH na 15 % se netýká všech

Podnikatel.cz: Zavře krám u #EET Malá pokladna a Teeta?

Zavře krám u #EET Malá pokladna a Teeta?

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka