[python] Guido o funkcich reduce(), filter() a map() v Python 3000

Martin Blazik martin.blazik na premiumsms.cz
Úterý Červenec 1 09:43:16 CEST 2008


Opravdu dlouho jsem odolaval, abych do teto diskuze nezasahl, ale nyni 
se opravdu uz neudrzim. Chca nechca musim dat za pravdu supermanovi. 
Nevim kolik lidi z tech co tu tak jasaj nad Pythonem 3000 psali nebo 
ridili nejakej vetsi projekt. Ja par takovych projektu tvoril nebo 
ridil. Bavime se o statisicich radku kodu. Kodu ktery pilujeme uz 
nekolik let. V jadru se zmeny delaji jen minimalne a spis se rozsiruje  
funkcnost, presne jak psal superman. Opravdu si nedokazu predstavit, ze 
by se mi pod rukama zmenila syntax jazyka a ja musel se svym tymem 
prochazet stovky zdrojaku a opravovat je. Co na tom, ze mi nejakej tool 
praci ulehci a nejaky zakladni konstrukce prevede. Porad jich zbyde 
dost, s kterymi si neporadi. Nechci znova prochazet veskery jiz odladeny 
kod a ladit ho znovu. Co je na tom tak tezce pochopitelnyho? Nejake 
zmeny v jazyce muzou byt urcite bezva. Ovsem poruseni zpetne 
kompatibility v takovem meritku je proste neakceptovatelne.

lachtan


superman napsal(a):
>> Stále mě nabádáte, abych si našel nějaká fakta. Taky byste to měl
>> někdy zkusit. Ale souhlasím s tím, že by Python mohl běžet ještě
>> rychleji, což dokazuje třeba Psyco.
>>   
>
> Já to zkusil, právě proto píšu to co píšu. Navíc pomalost Pythonu je 
> logická už z principu jazyka a z principu runtime. Nicméně pomalost 
> neznamená vadu, je to daň za jiné pěkné vlastnosti, za které se platí 
> rychlostí. A pak také daň za neustálé překopávání jazyka - to je další 
> negativní důsledek Rossumových akcí - kdyby Python byl stálý, věřím, že 
> by někomu stálo za to vyvinout dobrý runtime pro Python spolu s 
> dynamickou optimalizací (které v Pythonu není) a možná i JITem (která je 
> nesplnitelným snem).
>
> Taková Java například to z velké pomalosti dotáhla na to, že v rychlosti 
> čistého kódu se blíží rychlosti jazyka C. Je to důsledek vývoje runtimu, 
> který trval mnoho let.
>
> Ale Python prostě musí mít špatný a pomalý runtime, protože při 
> neustálém překopávání jazyka nelze naprogramovat nic složitějšího, než v 
> podstatě primitivní runtime prakticky bez optimalizací. Lidé pořád 
> zapomínají, že změna v jazyce znamená změny v obrovském množství kódu a 
> nástrojů.
>
>
>> U hotové aplikace není důvod ani potřeba nic přepisovat. Nevím, jakou
>> máte představu o tom, jak přejít na Python 3000, ale nikdo netvrdí, že
>> musíte ze dne na den přejít z Pythonu 2.5 na Python 3000 (klidně
>> můžete zůstat na Pythonu 2.5 až do smrti, přítomnost Pythonu 3000 ho
>> nezruší). U většiny aplikací, u kterých probíhá vývoj, při plynulém
>> přechodu na Python 2.6 a pak na Python 3000 s využitím připravených
>> nástrojů, žádné extra náklady navíc nevzniknou.
>>   
>
> Jednou Vás to donutí přejít - pokud jste trochu zběhlý v praxi, tak se 
> prostě nedá časem nepřejít. Jednoho dne se objeví něco - nepodpora 
> něčeho v okolí programu, která je jenom v nové verzi a přejít prostě 
> musíte chca nechca. Proč nutně musí u aplikací probíhat vývoj? A to s 
> těmi žádnými extra náklady je dobrá věta - na prvního Apríla.
>
> Ono totiž i když probéhá vývoj, tak v aplikaci jsou obrovské části kódu, 
> na které se nesahá. To může být klidně i 90% kódu, které zůstávají beze 
> změny. Mění se jen část projektu. Ty nezměněné části jsou odladěné, a je 
> na ně spolehnutí. Ovšem při změně syntaxe jazyka musíte sáhnout na vše - 
> na 100% kódu. Minimálně je otestovat - a jestli to neznamená dodatečné 
> náklady navíc, pak jsem čínský papež.
>
>
>> Takže je těch vlivů tolik, že stejně nelze určit, proč je Python někdy
>> populární více a jindy méně.
>>   
>
> S tím nesouhlasím. Je rozdíl mezi tvrzením "je tam hodně vlivů" a 
> tvrzení "nelze určit, které vlivy to jsou". Vy jste dost nekorektně bez 
> důkazu tato dvě tvrzení zaměnil.
>
>
>> I v případě Hitlera byla drtivá většina lidí, kterých se jeho činy
>> dotýkaly, proti. V demokratické společnosti platí názor většiny, a
>> pokud je většina pro změny, nic s tím nezmůžete. Je to blbej systém,
>> ale ty ostatní jsou jenom horší.
>>   
>
> Ano? Zkuste si vzít obrovský prostor zvaný Německo a zkuste si zjistit 
> jak moc lidí bylo proti.
>
> Demokracii sem netahejte - navíc znovu - dokažte tvrzení "že všechny 
> ostatní systémy jsou horší, než demokracie" - měl byste logický problém.
>
>
> Miloslav Ponkrác
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>


Další informace o konferenci Python