překlad: Petr Přikryl*)
Obsah webových stránek v současnosti prochází renovací. Původní srovnávací jazyky Tcl a QBASIC nyní nahrazuji jazyky JavaScript a VBScript. Současně provádím změny tak, aby vše odpovídalo verzi Python 2.3 — původní text vycházel z verze 1.5.2. Úpravy určitě zaberou pár týdnů a jakmile budou k dispozici, bude to znamenat, že se překlady z angličtiny budou od nového originálu dost lišit. Nezbývá mi než doufat, že překladatelé najdou motivaci k tomu, aby do překladu zapracovali mé změny.
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 obsahuje ve srovnání s webovou verzí výrazně vylepšená vysvětlení, ačkoliv to se týká pouze částí věnovaných jazyku Python. Ve srovnání s webovou podobou kniha obsahuje víc příkladů a několik zcela nových kapitol. Je mezi nimi i úplně nová 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. Prosím, věnujte jim pozornost — zvláště tehdy, pokud jste si knihu zakoupili.
Jak už jsem uvedl výše, webovská verze nyní prochází zásadní rekonstrukcí. Pokud dostatek lidí projeví zájem o knihu jejím zakoupením, rád bych zpracoval druhé vydání, které by mělo uvést obsah knihy do souladu s webovou verzí, včetně úprav a nového textu.
Poznámka překladatele: autor dále uvádí odkazy na překlady v jazyce španělském, portugalském, německém, italském, českém a korejském, včetně jmen překladatelů a některých technických poznámek. Vzhledem k tomu, že se počet jazyků může rozšiřovat, podívejte se v případě zájmu na stránku s originálním textem.
Jak již jsem se zmínil, během několika následujících měsíců se obsah stránek změní na novou, aktualizovanou verzi. Úpravy budu provádět po jednotlivých sekcích, abych zmenšil riziko nejednotnosti. Takže první viditelné změny se budou dotýkat částí Koncepty a Základy, poté přijdou na řadu Témata pro pokročilé a Případové studie.
S archivním tvarem souborů jsou pořád nějaké problémy. Některé soubory se, jak se zdá, čas od času poruší. Nezávisle na tom, jaký formát použiji, mají s ním někteří uživatelé problémy. Zdá se, že jediné řešení spočívá ve zveřejnění jak archivu ve formátu zip
, tak archivního souboru ve formátu tgz
. Doufám, že tím uspokojím všechny. V průběhu aktualizace obsahu nebudu zveřejňovat archivní balíky. Mějte chvíli strpení...
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.
Verzi ve formátu zip
najdete zde.
Doufám, že jsem tím uspokojil každého z vás.
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ík sady unixových utilit pro Windows — Cygwin. Ten se dodává v podobě archivního souboru bootstrap.zip
(asi 800KB) a kromě jádra systému obsahuje právě potřebné programy tar
a gzip
. Pro systémy typu Unix i Windows existuje i distribuce Info-ZIP, která obsahuje programy zip
a unzip
.
Poznámka překladatele: Součástí distibuce 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 kurzu 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 kurzů 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 bude do subjektu dopisu automaticky vložena informace o jméně a verzi tohoto HTML dokumentu.
$Id: cztutintro.html,v 1.4 2004/06/29 09:07:45 prikryl Exp $