Vítejte na inovovaných stránkách učebnice Jak se naučit programovat. Obsah byl zcela přepracován. Krom> příkladů v jazyce Python zde nyní naleznete také příklady v jazycích VBScript a JavaScript. Vysv>tlení byla navíc rozšířena — přibylo tém>ř 30 % textu. V následujících m>sících budu přidávat další témata. Zam>řím se na praktické používání programátorských dovedností.
Starší verze této učebnice je stále dostupná zde.
Mezi poslední zprávy k mé knize patří to, že se přesunula do kategorie tisk na vyžádání. Znamená to, že další výtisky vznikají pouze na základ> pevných objednávek od prodejců. Logicky z toho vyplývá, že již na ni v obchodech nenarazíte tak často. Ale stále si ji ješt> můžete objednat a bude vám zaslána. Bude to jen trvat o n>co déle.
Knižní podoba se nyní od obsahu webové verze výrazn> liší, ačkoliv základ
zůstává shodný. Kniha zůstala u Pythonu verze 1.5 a neobsahuje nov> přidaná
témata. Na druhou stranu v ní naleznete víc příkladů a
n>kolik kapitol navíc. Je mezi nimi i případová studie
objektov> orientovaného prostředí (framework) pro psaní her[2].
(Pln> komentovaná verze tohoto prostředí je nyní dostupná na webových
stránkách Useless
Python jako hmgui.zip.)
Knihu si můžete objednat přes Amazon. Má ji k dispozici i v>tšina dalších internetových obchodů s knihami.
Japonská pobočka mého vydavatele nabízí rovn>ž japonský překlad knihy.
V současnosti jsou k dispozici webové stránky, na kterých naleznete seznam chyb a které vám umožní zasílat ohlasy a dotazy. Pokud jste si knihu zakoupili, v>nujte jim, prosím, pozornost.
Jak už jsem se zmínil, hodlám v budoucnu přidat n>kolik nových témat. Budou součástí nového oddílu, který bude zam>řen na praktické programování. Chci tím reagovat na připomínky čtenářů, kteří říkají: "No dobrá. Teď vím, jak se programuje. Ale k čemu vlastn> mohu své nov> získané dovednosti použít?"
Připravuje se polský překlad. Pracuje se na úpravách českého překladu s cílem zachytit zm>ny v nové verzi učebnice. Petr byl mým nejpřísn>jším recenzentem a patří mu díky za řadu oprav. Zbývající chyby padají výlučn> na mou hlavu.
Obávám se, že kniha pon>kud stagnuje. Jakmile však dokončím nová témata, pokusím se s vydavatelem dohodnout na druhém vydání. M>lo by odpovídat poslední verzi Pythonu (v dob> vydání) a m>la by se zde objevit práv> tato nová témata. Ale doporučuji vám, abyste se na nové vydání knihy v tomto okamžiku příliš neupínali.
Prvním překladatelem této učebnice (do špan>lštiny) byl Martin Pozzi. Poté následovali další. V současnosti jsou k dispozici verze v následujících jazycích:
| Jazyk | Překladatel |
|---|---|
| Česky | Petr Přikryl |
| N>mecky | Bruno Schaefer |
| Korejsky | johnsonj |
| Italsky | Luca Fini |
| Portugalsky | Wilson Edgar |
| Špan>lsky | Martin Pozzi |
Všechny z výše uvedených překladů jsou použitelné, ale ve srovnání s originálními stránkami se nacházejí v různých fázích. Je to dáno tím, že odrážejí stav webových stánek z doby, kdy byly přeloženy. Zejména český překlad je ale zpracován velmi profesionáln>, včetn> atraktivního vzhledu. Zapůsobil na mne natolik, že jsem Petrovy definice stylů použil jako základ nové anglické verze. Doufám, že se mi podobn> podaří pozm>nit i ostatní jazyková vydání.
Domnívám se, že si všichni překladatelé zaslouží pod>kování za úsilí, které překladu v>novali. Čtení i staršího překladu učebnice je vždy jednodušší, než pracné louskání nové verze v cizím jazyce. Pokud je n>kdo další ochoten vytvořit zcela nový překlad nebo aktualizovat n>který z existujících, zašlete mi email.
Plánuji zařazení n>kolika nových témat, která se týkají použití jazyka Python pro řešení problémů z praxe. Ukazuje se, že mi to zabere mnohem více času, než jsem čekal. Práv> jsem dokončil kapitolu týkající se databází. Další témata budou v>nována programování síťových aplikací a webu.
K posledním zprávám patří to, že máme dva nové překladatele. Jeden z nich pracuje na inovovaném vydání špan>lského překladu, druhý na polském překladu.
Čas od času zveřejním podobu učebnice ve tvaru zip a tgz archívů. Neslibuji, že budou vždy nejčersv>jší, ale budu se snažit, aby nebyly příliš zastaralé. Poslední podoba učebnice bude vždy dostupná on-line.
Uživatelé systému Linux si mohou stáhnout verzi
tar/gzip. Uživatelé Windows budou moci použít tutéž verzi, protože
programy winzip a voln>
dostupný archivační program Quick Zip autora jménem Joseph Leung si oba s formátem
tgz poradí. Formát tgz je použit také pro
neanglické překlady. Odkaz na archivní balíky naleznete v dolní části panelu
s obsahem.
Poznámka překladatele: Česká verze je rovn>ž
dostupná v obou formátech. Archivační programy pro vytváření archivních
souborů v obou formátech jsou dostupné jak pro Linux, tak pro Windows.
Programy tar a gzip — případn> nov>jší verze
programu tar, která při zadání příslušného parametru přímo volá
program gzip —, jsou standardní součástí distribuce
systému Linux. U systému Windows doporučuji nainstalovat alespoň
nejzákladn>jší balíky sady unixových utilit pro Windows — Cygwin. Ten se dodává v
podob> instalátoru setup.exe (asi 300 KB) a rozsáhlé sady
balíčků. Naleznete mezi nimi i programy tar a
gzip. Pro systémy typu Unix i Windows existuje i voln> dostupná
distribuce Info-ZIP, která obsahuje programy zip a
unzip.
Poznámka překladatele: Součástí anglické verze je i učebnice ve formátu PDF. Je vytvořena z HTML souborů a nevyužívá možností hypertextových odkazů (tj. nejde o "klikací" podobu PDF souboru). Český překlad tuto variantu neobsahuje.
Poznámka překladatele: Součástí distibuce starší
anglické verze je i soubor tutor.pdb, tj. podoba tohoto textu
ve formátu dokumentačního souboru pro Palm. Podrobnosti hledejte v
originálním textu.
Pracuji na vytváření této učebnice, protože se mi zdá, že úplní začátečníci v programování toho na Webu[3] mohou nalézt velmi málo. Přitom samotná existence Internetu[4] a Webu vzbuzuje zájem o počítače a tento zájem přirozen> vede k touze po jejich ovládnutí. To ovšem znamená naučit se programovat!
Proč jsem to napsal práv> já? Tak tedy, jsem profesionálním programátorem se vzd>láním v oblasti elektro inženýr. Naučil jsem se (a stále používám) n>kolik programovacích jazyků, ale nemám žádný osobní zájem podporovat n>který konkrétní z nich. V dob>, kdy jsem s tím začal, se zdálo, že ješt> nikdo jiný nic takového nenapsal. Postupn> se objevilo n>kolik dalších příruček pro začátečníky, ale zdá se, že práv> tato k sob> přitáhla dost fanoušků na to, abych se rozhodl v ní pokračovat.
V rámci svých schopností budu vysv>tlovat základy počítačového programování — co to je, n>co o historii a o základních technikách, které potřebujete pro řešení problémů. Nebudu zde vysv>tlovat esoterické techniky nebo detaily jednotlivých programovacích jazyků. Budu spíše používat n>kolik odlišných jazyků, neboť v>řím, že je důležité si uv>domit, že různé jazyky jsou vhodné pro různé v>ci. Abych to shrnul, v>tšina obsahu učebnice bude v>nována programovacímu jazyku, který se nazývá Python.
Koukn>me se na to z jiné stránky: co očekávám, ze čtenář již zná?
Očekávám, že čtenář je zkušeným uživatelem počítačového systému, pravd>podobn> systému MS DOS, Windows nebo Unix, ačkoliv ostatní by si s tím také m>li um>t poradit. Dále očekávám znalost základních matematických pojmů jako jsou geometrické souřadnice, množiny a základy algebry. Toto vše je v soudobých programovacích prostředích důležité a mnoho koncepcí programování je založeno práv> na t>chto myšlenkách. Nicmén> úroveň požadovaných znalostí není vysoká. Pokud se vám přesto bude zdát matematická část příliš složitá, jednoduše přeskočte n>kolik odstavců, vyzkoušejte kód tak, jak je vám předložen. Snad vám to n>co přinese i v případ>, kdy pro vás bude matematická část stále záhadou.
Určit> byste ale m>li v>d>t, jak se ve vašem operačním systému dostanete
k systémové příkazové řádce. V systému Windows se můžete setkat s pojmy jako
DOSové okno nebo příkazové okno MS-DOS. Jde v podstat> o černé okno s bílým
vyzývacím textem, jako například C:\WINDOWS>. Dostanete se k
n>mu přes tlačítko Start a dialogové okno
Spustit... — do vstupního pole napište
command a stiskn>te tlačítko OK.
Poznámka překladatele: Příkaz command
spustí program command.com, což je příkazový interpret
pocházející původn> ješt> ze systému MS-DOS. Pokud pracujete s verzí systému
Windows NT, Windows 2000 nebo Windows XP, zkuste použít
modern>jší cmd.exe. Napsat cmd je také o n>co
kratší ;)
Pokud používáte Linux, pak asi víte, co je to terminálové okno. Na MacOS můžete pod Mac OS X spustit program Terminal (naleznete jej ve složce Aplikace->Nástroje).
Nebudu se zde zabývat problémy typu jak vytvořit nebo zkopírovat textový soubor, jak instalovat software, nebo jakým způsobem se v počítači ukládají soubory. Upřímn> řečeno, pokud se potřebujete dozv>d>t tyto v>ci, pak pravd>podobn> ješt> nejste schopni programovat — bez ohledu na to, jak moc po tom toužíte. Naučte se nejdříve n>co o svém počítači a teprve až budete u výše uvedených pojmů cítit v>tší jistotu, vraťte se k tomuto textu.
Python je krásný jazyk na učení. Jeho syntaxe[5] je jednoduchá a tento programovací jazyk má v sob> zabudované velmi silné rysy. Podporuje mnoho programovacích stylů, od velmi jednoduchých až po současný vrchol v podob> technik objektov> orientovaného programování. Funguje na mnoha platformách — Unix/Linux, MS Windows, Macintosh atd. Zformovala se kolem n>j velmi přátelská společnost uživatelů, kteří jsou ochotni pomoci[6]. Toto všechno je velmi důležité pro jazyk, ve kterém se má naučit programovat začátečník.
Nicmén> Python není jazyk jenom pro začátečníky. B>hem růstu vašich programátorských zkušeností zjistíte, že jazyka Python můžete používat jako koncový aplikační jazyk nebo jako jazyk pro rychlé prototypování[7]. Existují problémy, pro jejichž řešení se Python moc nehodí, ale je jich relativn> málo.
Jako alternativní jazyky budu používat také VBScript a JavaScript. Chci na nich ukázat hlavn> to, že zákadní techniky nejsou závislé na jazykových detailech. Jakmile se naučíte programovat v jednom jazyce, můžete se další jazyk naučit b>hem n>kolika dní. Proč jsem si vybral zrovna tyto jazyky? Jejich styl se od Pythonu liší a tím vytvářejí užitečný kontrast. A je tu ješt> jeden důvod. Pokud přijmeme myšlenku, že v>tšina začátečníků, kteří se brouzdají webovými stránkami, používají osobní počítače s nainstalovanými Microsoft Windows, pak mají k dispozici zabudované programátorské prostředí nazývané Windows Scripting Host, které podporuje VBScript a JScript (což je varianta JavaScript od firmy Microsoft). Kdokoliv používá prohlížeč firmy Microsoft, může tyto jazyky používat přímo v n>m. A navíc, JavaScript by m>l fungovat v tém>ř libovolném prohlížeči. Zam>říme se pouze na to, jak VBScript a JavaScript spustíme ve svém prohlížeči. Detailní studium WSH nechť zůstane domácím úkolem pro ty uživatele Windows, kteří o to mají zájem.
Existují další webové stránky, které se pokoušejí o totéž, v jiném programovacím jazyce. (Od doby vzniku t>chto stránek se objevilo i n>kolik webových míst v>novaných přímo Pythonu). Existuje řada učebnic pro ty, kteří už um>jí programovat, ale cht>jí se naučit nový jazyk. Uvádím zde n>kolik odkazů o nichž si myslím, že jsou užitečné:
Pokud vás napadne, co by se dalo na překladu této kapitoly vylepšit, zašlete e-mail odklepnutím Tím budou do dopisu automaticky vloženy informace o tomto HTML dokumentu.
$Id: cztutintro.html,v 1.14 2005/10/20 20:52:25 petr Exp $