[python] Fwd: Re: Re: učit Python 2.x nebo 3.x

Petr Přikryl prikryl na atlas.cz
Pondělí Červen 6 15:55:59 CEST 2011


Přeposílám ještě pár poznatků Jiřího Znamenáčka, který 
Python momentálně používá při výuce...
 
Petr
 ______________________ Původní zpráva: ________________________
 > Od: "Jiří Znamenáček"
 > Datum: 06.06.2011 11:28
 > Předmět: Re: Re: [python] učit Python 2.x nebo 3.x
 >
 [...]Pár komentářů mám, ale řešení ne :)
 
 > Nečteš náhodou tuhle konferenci? Ptá se tam nějaký člověk,
 > jestli na střední škole začít učit Python 3 nebo Python 2.
 Zajímavá otázka. S Pythonem 2.7 nemám vůbec žádné zkušenosti, jen
 matnou představu z 2.6. Vyjádřil bych se spíš obecně 2.x versus 3.x.
 
 Dva komentáře obecně:
 ~ Python 3.x je sice zpětně nekompatibilní, ale troufám si tvrdit, že
 ke škodě jazyka příliš málo – věcí na opravení (a zbavení se
 historického balastu) tam bohužel i tak zbyla spousta :-(
 ~ Ale přes to všechno je řada 3.x mnohem, hm, logičtější jazyk.
 Zvláště rozšíření použití iterátorů a sjednocení všehokoliv (nechci
 říkat zrovna syntaxe). Prostě kód v Pythonu 3.x v mnoha ohledech
 působí „přirozeněji“.
 
 Z hlediska výuky:
 ~ Chcete-li studenty seznámit s programováním na dynamicky typovaném
 jazyce, je Python asi pořád jedna z lepších (a čitelnějších) voleb. (I
 když už léta ztrácím přehled, takže...)
 ~ Python vám vnutí celkem rozumnou štábní kulturu. Počítejte ale s
 tím, že i v jeho dosti pevných mantinelech se najdou lidi, kteří ji
 ohnou takovým způsobem, že se nebudete stačit divit :-)
 ~ I v trojkovém Pythonu je spousta ošklivých věcí, ale pořád méně než
 ve dvojkovém.
 ~ Mimochodem řada 3.x působí zatím skoro celou dobu jako testovací
 beta, takže jestli trojkový Python, tak rovnou až 3.2 :-) Ten vzal
 zpátky některé podivné změny a vypadá, že se vývoj konečně trochu
 ustálil.
 
 Tudíž neslaný-nemastný závěr:
 ~ Je-li vaším hlavním úkolem zpracovávání textu v jakémkoliv jiném
 kódování než ASCII, zapomeňte na Python 2.x a používejte rovnou 3.1+.
 (Nebo si aspoň důkladně ověřte, že autor knihovny, kterou zrovna
 potřebujete, s Unicodem počítal...)
 ~ Potřebujete-li spolupráci externích knihoven, důkladně si
 nastudujte, zda jsou k dispozici pro Python 3.x. Většinou to nebude
 pravda a budete muset použít Python 2.x.
 
 Osobně si pořád (po dvaceti letech :-) myslím, že základy programování
 se nejlíp vysvětlují na Karlovi. Logo je pěkné, ale už zbytečně
 obsáhlé. A „normální“ jazyky – Python v to počítaje – jsou z tohohle
 hlediska už úplně mimo. Popravdě bych byl radikální a kdybych mohl,
 tak bych povinně předepsal NEJDŘÍV kurs Haskellu nebo něčeho podobného
 funkcionálního, a AŽ POTOM bych nasadil procedurální jazyk.
 
   Jirka


Další informace o konferenci Python