[python] Brainstorm request: Vyuka programovani na gymplu

Bystroushaak Bystrousak na seznam.cz
Pátek Červen 6 19:20:28 CEST 2008


Nedokážu si představit že by to šlo lépe vystihnout. (potlesk)

> ------------ Původní zpráva ------------
> Od: superman <feed na centrum.cz>
> Předmět: Re: [python] Brainstorm request: Vyuka programovani na gymplu
> Datum: 06.6.2008 14:33:26
> ----------------------------------------
> 
> >     Já už třeba na builderu.cz <http://builderu.cz> napsal, že Java
> >     jakožto jazyk, který všechno
> >     emuluje něčím jiným není dobrý učební jazyk.
> >
> >
> > Polozme si otazku, jestli je to dobre nebo spatne. Chceme se naucit 
> > vytvaret robustni aplikace a algoritmy nebo se hrabat v pocitaci na 
> > nizke urovni a primo komunikovat s HW? V tom prvnim pripade Java nema 
> > zadny problem, naopak to "emulovani" (zapouzdreni) ma svoji filosofii.
> >
> Tady vůbec nejde o low level, ani o tyto věci. Tady jde o to, že 
> začínající programátor učící se na Javě si plete prostor jmen 
> (namespace) se třídou, stejně tak modul nazývá slovem třída. Výčtový typ 
> si plete se slovem třída. Globální proměnné jsou pro něho statickým 
> členem třídy. Dále mu není jasný pojem typu proměnné, protože mu opět 
> splyne se slovem třída. A můžu takto uvést desítky dalších zamlžovacích 
> taktik, kdy i z talentovaného člověka Java udělá někoho, kdo bude tento 
> zmatek hodně dlouho rozplétat. Zkrátka v Javě se vše emuluje stylem 
> "uděláme třídu".
> 
> Java se prostě tak omezená, že jiná taktika, než emulovat vše třídou 
> není. Koneckonců původně to měl být jednoduchý jazyk pro pračky - a čím 
> osekanější, tím lépe se bude implementovat.
> 
> > Myslim, ze kdyby Java mela tak omezene prostredky, ze by napriklad 
> > bankovni domy tuto platformu nepouzivaly. Naopak, existuje siroke 
> > spektrum nejruznejsich aplikacnich serveru, portalu, CMS, DMS, 
> > nastroju integracni vrstvy apod. Tyhle moznosti jsou vykoupeny plossi 
> > krivkou uceni.
> 
> Nepleťte si prosím omezenost prostředků s omezeností jazyka. Ale zkuste 
> si dítě učit ve slabikáři abecedu tak, že mu dovolíte kreslit písmenka, 
> ale jenom vodorovné a svislé čárky, nic šikmého. To je asi styl Javy. 
> Nakonec i šikmou čáru nakreslíte pomocí interpolace dostatečně hustou 
> řadou krátkých vodorovných a šikmých čárek, ale proč to dítěti takto 
> komplikovat?
> 
> Myslím, že začínající programátor by se měl učit na programovacím 
> jazyce, který přímo dělá to co potřebuje. Kde slovo X je prostě X, a 
> není to emulation by class. Určitě je lepší, když v Pythonu udělá modul 
> - a Python mu dá jasně najevo, že modul může mít kolik chce tříd, 
> proměných, atd.. - a bude mu hned jasné, že modul a třída jsou naprosto 
> odlišné pojmy, například.
> 
> Navíc nesdílím nadšení mnoha lidí na OOP pro začátečníky a děkuji Bohu, 
> že jsem se začal učit neobjektově. Myslím, že začátečník by hned neměl 
> být nucen do OOP, ale měl by se nejdřív naučit základy bez něho.
> 
>  >Vzhledem k tomu, ze se bavime o uceni, tak souhlasim, ze Javu ne. Ale 
> co treba Groovy, zejo? :-)
> 
> A proč?
> 
> >     Mě naopak Python přijde jako velmi vynikající pro začátek. Čistý
> >     jazyk,
> >     výsledky vidíte hned, neprasí se tam jako v PHP, neobchází se všechno
> >
> >
> > Neprasi, ale prasit muze. Viz globalni promenne, cross-class sdilene 
> > promenne apod. Vetsina dostatecne flexibilnich jazyku ze sve podstaty 
> > umoznuje bastleni. Je to spis o kulture programatoru, jestli se k tomu 
> > snizi nebo ne.
> 
> Globální proměnné nejsou prasení v rozumném počtu. Stejně tak jako 
> leccos dalšího.
> 
> A určitě je lepší prasení, než zastírání něčeho něčím. Prasit totiž jde 
> v každém jazyce, naprosto každém. Znáte tu větu: "Fortranista píše v 
> každém programovacím jazyce jako ve Fortranu".
> 
> Miloslav Ponkrác
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
> 
> 
> 


Další informace o konferenci Python