[python] Guido o funkcich reduce(), filter() a map() v Python 3000
superman
feed na centrum.cz
Čtvrtek Červen 26 13:44:08 CEST 2008
>
> Python je jazyk, který se používá v rychlostně kritických aplikacích. Né úplně doslova, nejnáročnější komponenty se píší v C případně C++ a Python slouží jako nástavba pro rychlý vývoj s těmito komponentami.
>
Sám to popíráte - Python se nepoužívá v rychlostně kritických
aplikacích, protože komponenty se pak píší v C, C++ a dalších jazycích
orientovaných na rychlost. A toto vlákno se týká psaní kódu v Pythonu -
a rychlost se tu objevila pouze v té souvislosti, že psaní na max.
rychlost někdy (ale velmi velmi ukrutně zřídka, aby to tu někdo
nepoužíval jako argument) ospravedlňuje hnusné změny a zásahy. A protože
v Pythonu se nepíší rychlostně kritické věci (sám jsem napsal, že se
tyto části napíší třeba v C), nejsou tyto věci ospravedlněním pro špatné
zásahy pana Rosauma do Pythonu. Abych tak nějak polopaticky shrnul
několik příspěvků a o co v nich šlo.
> Ale i tak jsou nároky na jeho rychlost obrovské a to že jeho rychlost
> převážně převyšuje ostatní interpretované jazyky je jeden z hlavních
> důvodů, proč je Python tak rozšířený. Za zmínku stojí třeba Google,
> které je postaveno převážně na kombinaci C/C++ a Python, stejně tak
> Seznam.cz, nebo třeba serverová farma MMORPG hry EVE Online. Rychlost
> je taky jeden z důvodů, proč se dělají některé změny v Python 3000 a
> proč nebude donekonečna zachovávána zpětná kompatibilita.
>
Rychlost Pythonu převyšuje ostatní jazyky :-) Co já se tu nedozvím :-)
Pravda je opačná, Python je jedním z nejpomalejších. Ale ono to nevadí,
protože rychlost ve věcech, kde se nasazuje Python není kritická,
alespoň ne v těch částech, kde se vykonává Python kód. Protože jinak by
nasazení Pythonu byla špatná volba - skoro cokoli za jiný jazyk je lepší
pokud jde o rychlost.
Síla Pythonu je jinde - je to jazyk s ukrutně rychlým vývojem programů.
Jazyk s udržovatelným kódem, kde bez problémů můžete oprašovat milióny
řádků a není problém.
A k několika konkrétním příkladům bych dodal - "jedna vlaštovka jaro
nedělá". Mě nezajímá pár firem, co jí používá, mě zajímá kolik procent
projektů jí používá. A upřímně velmi doporučuji také po čase udělat si
graf procent a zhodnotit propad Pythonu v důsledku hrátek pana Rossuma.
Ten propad už se totiž nevyrovná nikdy v budoucnosti. Nepolemizujte se
mnou, ale sami si dejte dohromady skutečná data.
Mimochodem, úspěšně jsem složil test na vývojáře pro Google, takže něco
vím. Hlavní, co požadují je Java, ocení C++, nějak kolem Pythonu se moc
nemluvilo. Nakonec problém byl, že nejsem s to komunikovat plynule
perfektní angličtinou po telefonu.
Ohledně her se záruky nepožadují. Jakpak dlouho se prodává hra? Rok?
Dva? Určitě se kód hry neudržuje nijak dlouhou dobu oproti jiným
odvětvím IT. Věřím, že tam Python a Rossum není problém. Znovu říkám,
jako hračka a pro hraní, stejně tak na jednorázové věci není důvod
Python nepoužít.
> Stejně stále nechápu, z čeho máte strach. Python už dnes není jen
> Guido, ale stojí za ním poměrně velká nadace, sponzoři a vývojáři
> Pythonu a komunita vývojářů v Pythonu. Guido neupravuje a ani nemůže
> upravovat Python jen tak podle toho, co ho zrovna napadne. Ani změny
> ve verzi Python 3000 nejsou jen jeho výmysl. Má sice poměrně velké
> slovo, ale když by zblbnul, tak se bez něj obejdou. Proto bych se
> nebál, že se z Pythonu stane nějaký nepoužitelný balast.
>
He he, tak teď koukám a hledím. Právě teď Rossum dlouhou dobu blbne. Ne
kdyby zblbnul, on teď dlouhodobě blbne! A nikdo nezasáhne. Kdyby kdokoli
takhle blbnul v případě komunity třeba Fortranu, C, C++, Javy, Ady, C#,
a vůbec většiny jazyků, byl by Rossum odstaven coby dup a ještě by všude
o něm psali jako o pomatencovi. To píšu zcela bez emocí, protože tak by
to bylo.
Ve světle současných událostí věty jako "proto bych se nebál" považuji
za utopii.
Miloslav Ponkrác
Další informace o konferenci Python