![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
David Beazley
Jako pedagog, badatel a publikující autor jsem velmi potěšen z dokončení tého knihy. Python je zábavný a snadno osvojitelný programovací jazyk, jehož popularita v posledních letech stále roste. Před více než deseti lety jej sestavil Guido van Rossum Jednoduchá skladba jazyka a jeho celkové pojetí je z velké části odvozeno z ABC, jazyka, který byl vyvinut v 80. letech pro školní výuku. Python byl však vytvořen také proto, aby řešil reálné problémy a z toho důvodu přebírá řadu rysů z programovacích jazyků C++, Java, Modula-3 a Scheme. Nejvýznačnějším rysem Pythonu je jeho přitažlivost pro širokou řadu programátorů, badatelů, umělců a pedagogů.
Bez ohledu na tuto skutečnost je na místě otázka "proč Python?" nebo "proč se učit programovat s Pythonem?". Zodpovězení této otázky není jednoduché, zejména když obecně populární přízeň se přiklání k více masochistickým alternativám, jako je C++ a Java. Myslím, že nejpřímější odpovědí je uvedení toho prostého důvodu, že Python je zábavný a uspokojivě produktivní.
Ve svých přednáškách o programování se kromě vysvětlování důležitých pojmů snažím také o to, aby byl výklad pro studenty zajímavý a přitažlivý. Úvodní kurzy do programování mají někdy tendenci se příliš zaměřovat na matematickou abstrakci, v důsledku čehož bývají studenti frustrováni únavnými problémy, souvisejícími se skladbou, kompilací a uplatňováním tajuplných pravidel jazyka. I když tato abstrakce a formalizmus jsou důležité pro profesionální programátory a pro studenty, kteří se chtějí programování věnovat důkladněji, v úvodních kurzech vede tento přístup k přesvědčení, že programování je nudná záležitost. Při svých přednáškách nechci stát před třídou apatických studentů; mnohem raději je vidím, jak řeší zajímavé problémy zkoušením různých nápadů, zaujímáním nekonvenčních přístupů a učením se z vlastních chyb. Přitom nechci zbytečně strávit polovinu semestru luštěním tajuplných záhad skladby (syntaxe), nesrozumitelných chybových zpráv překladače či stovek příčin pro kolizi programu s počítačem.
Jedním z důvodů, proč mám rád Python je to, že poskytuje příjemnou rovnováhu mezi praktickým a konceptuálním. Protože je Python interpretovaným jazykem, může začátečník téměř okamžitě začít psát úhledný program bez toho, že by se zahltil problémy kompilace a propojení. Navíc, Python je dodáván s velkou knihovnou modulů, které mohou být použity pro všechny druhy úkolů, od programování webových stránek až po grafiku. Takovéto praktické zaměření je dobrým důvodem pro zájem studentů a umožňuje jim úspěšně dokončit i významné projekty. Ovšem, Python také může sloužit jako vynikající základ pro uvedení důležitých programátorských pojmů. Jelikož Python plně podporuje procedury a třídy, mohou být studenti postupně seznamováni s tématy jako je procedurální abstrakce, datové struktury a objektově orientované programování, což všechno je později použitelné při výkladech o jazyku Java nebo C++. Python dokonce přebírá řadu rysů z jazyka funkcionálního programování a může být použit k uvedení pojmů, které jsou prodrobněji popisovány v přednáškách o jazyku Scheme a Lisp.
V úvodu od Jeffrey Elknera jsem zaznamenal poznámky, že Python mu dovolil očekávat "vyšší úroveň úspěchu při nižší úrovni frustrace" a že byl schopný "postupovat rychleji s lepšími výsledky". I když se tyto poznámky vztahují k jeho úvodním kurzům, já sám používám Python přesně ze stejných důvodů v přednáškách o programování ve vyšších ročnících na Chicagské univerzitě. V těchto kurzech jsem soustavně konfrontován s náročným úkolem vyložit řadu obtížných témat v nesmírně krátkém období devíti týdnů. I když je jistě možné potrápit studenty použitím jazyka jako je C++, zjistil jsem, že tento přistup je často kontraproduktivní - zejména když téma kurzu nesouvisí jenom s programováním. Shledávám, že použití jazyka Python mi umožňuje se lépe soustředit na probírané téma a přitom poskytnout studentům prostor pro dokončení jejich ročníkových projektů.
I když je Python stále ještě mladý a rozvíjející se jazyk, věřím že má skvělou budoucnost ve vzdělávacím procesu. Tato kniha je důležitým krokem v naznačeném směru.
David Beazley
University of Chicago
Author of the Python Essential Reference
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |