[python] Guido o funkcich reduce(), filter() a map() v Python 3000
superman
feed na centrum.cz
Středa Červen 25 18:11:56 CEST 2008
> Měl bych tu přirovnání: C a C++. Ačkoliv C++ je zpětně kompatabilní,
> není zcela. Některé Cčkovské konstrukce v C++ použít nemůžete.
>
C a C++ jsou dva různé programovací jazyky. Nechápu, proč srovnáváte
kompatibilitu mezi nimi. Srovnává snad někdo kompatiblitu Javy a Pythonu
třeba? Nesrovnává! Nikdo nikdy netvrdil, ani se nepokoušel tvrdit, že
mezi jazyky C a C++ je zpětná kompatiblita.
> Jiný příklad je Java. Ta si udržuje silnou zpětnou kompatabilitu. A
> proto, když přišel C# - což není nic jiného, než překopaná java - tak
> získal velice rychle své místo na trhu protože se odvážil přinést nové
> prvky a nové technologie, které v Javě nejsou, nebo jsou špatně. (Tím
> netvrdím, že je C# nějak zvlášť úžasný. Ale je to krok kupředu.)
>
Dovolím si s Vámi úplně, ale zcela nesouhlasit. C# prosadil marketing,
nikoli nové prvky, ani technologie. Zkuste si Vy konkrétně vymyslet
nejlepší programovací jazyk na světě a zkuste ho Vy prosadit! Uvidíte
sám a přestanete být naivní v tom, že si přestanete myslete, že kvalita
nějak zvlášť rozhoduje o prosazení jazyků.
To už miliónkrát více, než kvalita technologie rozhodují záruky, které
za ní dáte. A zde je obrovská slabina Pythonu, jak o tom píšu celé toto
vlákno.
> Python zvolil cestu mezi. Odvážil se k radikálnějším zásahům do jazyka,
> oproti příkladu s C x C++, kde ty nekompatabilní změny jsou opravdu
> výjimečné. Ale nevytvořil úplně nový jazyk, jako Java x C# a tím si
> uchoval uživatelskou základnu. V případě pythonu se jedná o zdokonalení
> jazyka.
>
Mácháte hrušky s jablky. Dáváte do protikladu jazyky, které spolu
vývojově tak moc společného nemají. Cílem Microsoftu a jazyka C# nebylo
pokračovat v Javě, ani zdokonalit Javu - přestože to tu uvádíte. Stejně
tak ani C++ nemělo za cíl být další verzí jazyka C. To už pan Stroustrup
daleko spíše chtěl být klonem Simuly s C like syntaxí.
Nerozumím Vaší argumentaci, protože tu mícháte nesouvisející jazyky -
zatímco pak do toho vrazíte Python versus zase Python.
> Jako příklad proti, mohu uvést Objektive C. Ten nedělal žádné změny ve
> jazykové syntaxi původního C, a přesto se v drtivé většině používá jen díky Applu.
A co tím chcete říct? Slyšel jste někdy o licenčních omezeních, které
dává Apple na své výmysly? Apple spolehlivě licenčně a požadovanými
poplatky například zabil Firewire technologii, a tak se rozšířila horší,
ale licenčně přijatelnější USB.
Stejně tak u Objective C jsou obrovské právní a licenční problémy na
jeho standardní knihovnu, které Apple nehodlá uvolnit. Stejně tak
Objective C nedává stejně jako Python žádné záruky dobudoucna - je
hračkou v rukou Apple, co v něm bude příště.
Prosím Vás, zjistěte si alespoň základní fakta, než budete argumentovat.
> Již zmíněná Java měla nadčasový návrh. A zřejmě dodnes z
> toho těží. Ale skutečnost je taková, že navzdory kritice, někdy ústící
> až v šťavnaté nadávky, drží se. A to hlavně díky SUNu a IBM, které na
> něm založili část své existence.
>
Ano, Java měla nadčasový návrh - jako primitivní jazyk pro mikrovlnky,
ledničky a trouby. To je totiž původní záměr Javy a s tímto byl dělán.
Java těží zase z toho - a znovu se k tomu dostávám - že do ní Sun nalil
prašule, a obrovské prašule. Je to sice přízemní, ale nebýt dolarů, tak
Java je dnes historie. To jsou miliardy peněz od Sunu a IBM, které tekly
zejména do marketinku a propagace a prosazování Javy plus samozřejmě
technických věcí. Opusťte už tu naivní představu, že kvalita jazyka něco
znamená v používanosti.
Ale velkým pomocníkem v prosazení Javy z hlediska Sunu byly záruky,
které Java dává - toje velmi silná věc, daleko silnější, než kvalita -
zase jsem se dostal znovu k potvrzení toho, že jazyky, které dávají
záruky (tedy opak toho co dělá Rossum a Python) jsou stálice.
> To zajisté ne. Ale najmu si právníka, který právničinnou žije. Najmu si
> zedníka, který dělá svou práci rád a je pro ni zapálen. Raději, než
> profesionála, který to dělá jen pro peníze.
>
A opravdu si najmete raději zedníka, který tím žije, když za stejnou
cenu budete moci mít profesionála, který tu práci odvede desetkát lépe?
Komu dáte šanci? A pokud budete s v soudním sporu, kde Vám půjde o hodně
- znovu se ptám - najměte si raději právníka, který tím žije, nebo
profesionála za peníze, u kterého budete mít 3x větší šanci vyhrát spor?
Mě jenom zajímá až kam daleko jde Vaše přesvědčení.
Miloslav Ponkrác
Další informace o konferenci Python