Proč pokaždé zrovna moje
otázky vyvolají takový rozruch?:-)
To uz je taky folklor, ze ked hocikomu pridete vysvetlovat, ze jeho oblubena 
vec je na prd/mrtva, tak sa strhne flamewar. Situaciu, ked diskuter pride, 
vyprovokuje vsetkych a potom potichu zmizne, radsej nazyvat nebudem :-)

Zosumarizujete mi aspon Vasu prednasku, o co som Vas prosil vyssie? Dost by mi 
to pomohlo, lebo ma to zaujima.
-----------------


Inak, venoval som teraz pol semestra experimentalnej vyucbe Groovy a zacinam mat pocit, ze zaciatocnik, ktory nema s cim porovnavat, prakticky nie je az taky ohureny syntaktickymi vymozenostami a dynamickymi vlastnostami ako napr. clovek, ktory prejde z Javy do Pythonu/Groovy.

Samozrejme, priamociara syntax dost pomaha: ide o to, aby sa neupisal k smrti, nemusel nahanat kazdu bodkociarku a nebol zavaleny zbytocnostami (napr. Lazarus a jeho predgenerovany kod formulara, z ktoreho su zaciatocnici pomerne mimo, alebo uz len povestne zaklinadlo public static void main). Ziskal som dojem, ze omnoho dolezitejsie je, aby bol na chyby upozorneny co najskor a co najjasnejsie.

V Groovy sme sice radostne buchali programy (v NetBeanse je podpora out of box), ktore boli kratucke, strucne, ale stacilo sa preklepnut v nazve instancnej premennej a uz lietali po konzole stack tracky, ktore bolo treba luskat a hladat v nich pricinu chyby... co je horsie v porovnani s lazarusovskym error logom, kde zaciatocnik namemoruje typicke chybove hlasky a vie z nich ako-tak vydedukovat pricinu chyby a opravit ju.

Tie dynamicke vlastnosti pre zaciatocnika nie su az take terno. Zaciatocnik nechce pisat ultrakratke programy, on je rad, ze mu to nieco kresli/hra/tancuje a ze ho jazyk nefrustruje niecim, comu nerozumie. Rovnako ho az tak nefascinuju reklamne tendencie ,,to co v Jave napisete na tri metody, mate v Pythone/Groovy na jednu closure ci jeden list comprehension". A dost kontraproduktivna je ,,cierna magia", ktora je fascinujuca dovtedy, kym funguje, ale depresivna, ked zacne padat na mylnych hlaskach a chybach.

RN





On 16. 6. 2011 14:28, Vladimir Balko wrote:
> Na některých školách prosazují pro úvodní kurzy Python, ale já se domnívám, že to, že v jazyku napíšete jednodušší Hello World a > snadněji v něm inicializujete seznam, z něj ještě nedělá vhodnější jazyk pro výuku.

No podla mna je python vhodnejsi na vyuku uz len kvoli tomu, ze nuti pisat "pekne programy" (odsadzovanie...) a nie je taky ukecany ako java - tzn. algoritmy su v nom v prirodzenejsej podobe - skoro matematicky zapis. A este sa k tomu omnoho lahsie nauci.

Suhlasim vsak, ze asi je vhodnejsie najprv nabrat nejake skusenosti s typovanymi jazykmi a az potom prejst na netypove. Mam vsak tusenie, ze typovane jazyky sa tak o cca 10 rokov budu pouzivat uz iba na specialne oblasti, kde to bude vyhodnejsie. Vyvoj speje k stale vyssie urovnovym jazykom a netypova syntax je podla mna rozhodne tymto smerom.

VBalko


2011/6/16 Pecinovský Rudolf <rudolf.pecinov...@i.cz <mailto:rudolf.pecinov...@i.cz>>

    > jak dlouho vam trva, nez z lamy udelate Java programatora,
    > ktery muze psat produkcni systemy?
    > ...
    > A je sakra rozdil psat hada jakozto semestralku pro softwarove
    inzenyrstvi vs
    > produkcni system. Na jak dlouho to tedy vidite a co ucici krivka?

    Java je podle mne v současné době nejlepší jazyk pro vstup do
    světa programování. Nabízí prakticky vše, co je potřeba, a na
    druhou stranu toho neumí zbytečně moc, takže ji můžete do studentů
    nalít za semestr. O druhém takovém jazyku nevím.

    Na některých školách prosazují pro úvodní kurzy Python, ale já se
    domnívám, že to, že v jazyku napíšete jednodušší Hello World a
    snadněji v něm inicializujete seznam, z něj ještě nedělá vhodnější
    jazyk pro výuku.

    Dynamické jazyky by se podle mne měly učit až poté, co už má
    student-programátor něco za sebou a umí se dobrovolně ukáznit,
    protože jinak mu mohou připravit šeredná překvapení.

    My učíme v prvním semestru programování a v druhém mix technologií
    + sw inženýrství. Pak se studenti rozdělí na ty, kteří dají
    přednost managementu (těch je většina) a ty, kteří dají přednost
    programování. Ti pak mají předmět Moderní programovací techniky, v
    němž jim předvádím Groovy. Ne proto, že by bylo nejlepší (i když
    je ;-), že), ale proto, že nabízí většinu toho, co najdete v
    ostatních jazycích typu Python, Ruby, Smalltalk atd., a přitom se
    studenti nemusí učit novou syntaxi. Neustále se jim snažím
    vtloukat, ať se učí především principy, protože jazyky přicházejí
    a odcházejí, ale principy přežívají neporovnatelně déle.

    Vývoj produkčních systémů ale není jenom o programování. Je to
    bohužel o těch všech frameworcích, o spolupráci mezi různými
    aplikacemi, o kontinuální integraci, průběžném testování atd. atd.
    Vstřebat vše musí trvat dlouho. Pokud ale student přijde někam,
    kde dostane konkrétní úkol na konkrétním projektu, stačí mu toho k
    donastudování výrazně méně a může být velmi rychle platným členem
    týmu.

    Důležité je, aby to byl student, který se ve škole nenaučil jen
    jazyk, ale nasál opravdu používané paradigma, protože jinak se v
    tom plácá a neví, která bije.



Odpovedet emailem