Nedokážu si představit že by to šlo lépe vystihnout. (potlesk)
> ------------ Původní zpráva ------------ > Od: superman <[EMAIL PROTECTED]> > 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 > [email protected] > http://www.py.cz/mailman/listinfo/python > > > _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
