Hlavní navigace

Jak jsem si oblíbil Python

10. 5. 2006 0:47 (aktualizováno) Petr Šnajdr

Guido

Kdysi dávno, bylo to ještě v Brně, jsem sám vyvíjel aplikace v Perlu. Perl je mocný a flexibilní jazyk, který má řadu příznivců a obdivovatelů. Jeho výhodou je to, že se přizpůsobí programátorskému stylu a nenutí nikoho do něčeho na co by nebyl zvyklý. Znáte C? Pak pište jako v C. To je Perl. Dělejte to tak jak vám to vyhovuje nejvíc! Popravdě už tehdy mi tato proklamovaná vlastnost přišla dosti divná. Je to jako mít auto v kterém je kulatý volant, páky jako v tanku, knipl jako v letadle a řídítka jako na motorce a to vše současně.

Tehdy jeden z kolegů přišel ze zajímavým jazykem – Python. Python byl překvapivě vyspělý jazyk, tehdy ve verzi 1.4, ale přesto mi trvalo několik týdnů než jsem v něj uvěřil. To jsem se ve svém projektu psaném v perlu začal ztrácet tak, že jsem se rozhodl odreagovat se na chvíli Pythonem. Jak to dopadlo?

Asi za den jsem přepsal to co jsem tvořil týden v Perlu do Pythonu. Aby nedošlo k omylu – to proč jsem to přepsal za den bylo dáno hlavně tím, že jsem to nemusel znova vymýšlet. Hlavní rozdíl ale byl ve výsledku – přestal jsem se v něm ztrácet. A tak si mě Python získal.

Argumentů pro něj bylo víc. Tím nejhlavnějším byla velice dobrá přehledná dokumentace a velice rozsáhlé standardní knihovny, které tehdy dokázaly řešit vše co jsem potřeboval. Oproti Perlu to byla změna. Popis jazyka byl na několik stran a zbytek byl popis knihoven. Na to jsme nebyl zvyklý. Druhá věc bylo, že jsem se přestal prát ve změti Perl knihoven stahovaných z Internetu (CPAN). Vše co jsem potřeboval bylo již předpřipraveno a vzájemně ověřeno, že funguje.

Neposlední věcí, která mě nadchla byla, že se kamsi vytratilo „závorkové peklo“. Člověk je tvor chybující a když mi tu a tam v Perlu ujela závorka (tedy jsme ji zapomněl napsat nebo jsme místo ní napsal jiný znak, interpreter mi oznámil řádek na kterém se to stalo, ale realita byla, že jsem ji pak musel hledat i o několik desítek řádků dříve. Ale to šlo eliminovat chytrým editorem. Kde jsou to časy, kdy jsem byl velkým fandou emacsu – editoru, který je více než editorem spíš malým operačním systémem vytvářeným v Lispu.

Další vývoj Pythonu

Vývoj samotného jazyka mě od verze 1.4, která byla tou první, kterou jsme poznal, nějak zvlášť nefascinoval. Navíc se objevilo i několik zajímavých alternativ jako Ruby, které je dnes třeba v Japonsku používanější než Python. Zajímavé byly jen některé projekty navazující na Python a dění kolem něho. K těm pro mě nejzajímavějším věcem patří:

PL/Python

Pokud máte SQL server, který umožňuje vytvářet stored procedury, můžete přenést část aplikační logiky přímo do databáze. Minimálně na hlídání integrity dat s nimiž pracujete je to super věc a najde se několik dalších dobrých využití. Za tímto účelem vzniklo několik jazyků v kterých se stored procedures vytváří. Transact-SQL, PL/SQL a další. Otevřeně ani jeden z nich mě nezaujal a i když jejich možnosti nejsou nikterak malé, pořád z nich mám pocit, že je to tak nějak „přes ruku“.

Naproti tomu PL/Python je jiný. Je to klasický Python, který můžete použít k vytváření stored procedures v PostgreSQL. SQL server tak můžete defakto velice snadno změnit v jakýsi velice jednoduchý aplikační server. Ano, je otázka do jaké míry je to dobrý nápad.

wxPython

wxPython je projekt založený na wxWindows – C/C++ GUI knihovnách, které umožňují vyvíjet portabilní aplikace nevázané na konkrétní OS a přitom udržet nativní vzhled. Jelikož Python samotný je dostupný na velkém množství platforem, je to spojení geniální. Vaše programy tak mohou běžet pod Windows, Linuxem nebo Macem?

IronPython

Implementace Pythonu do prostředí .NET. Jeho historie je vůbec zajímavá. Autor do toho původně šel se záměrem dokázat, že platforma .NETu není vhodná pro jazyky jako je Python. Ke svému úžasu dospěl ke zcela jinému závěru a výsledkem je implementace Pythonu, která je 2.5× rychlejší než originální verze. Následně si projekt převzal Microsoft z jehož stránek lze nyní již stáhnout verzi IronPython 1.0.

Samozřejmě zajímavých projektů okolo Pythonu je víc. Např. JPython, Zope, mod_python a další. Ale ani jeden z nich mě nenadchl stejně jako předchozí i když pozornost si zaslouží také. Když jsem začínal používat Python, znal jsme v ČR jen několik lidí, kteří v něm programovali také. A se všemi z nich jsem pracoval. Dnes je Python široce používaný a známý. Používají ho komerční společnosti ve svých projektech, některé z aplikací Microsoft byly napsány v Pythonu, používá ho řada portálů a autor Pythonu – Guido van Rossum je nyní zaměstnán v Gogole, který Python také intenzivně používá.

Sdílet