Hlavní navigace

Názor k článku Clojure aneb jazyk umožňující tvorbu bezpečných vícevláknových aplikací pro JVM (3.část - funkcionální programování) od M. Prýmek - > protože by byl mozek nastaven úplně jinak. Napadlo...

  • Článek je starý, nové názory již nelze přidávat.
  • 29. 6. 2012 8:28

    M. Prýmek

    > protože by byl mozek nastaven úplně jinak.

    Napadlo mě něco podobnýho, když jsem v příspěvku výš četl to " jak většina lidí nad programováním přirozeně uvažuje" :)

    Asi je pravda, že člověk přirozeně rozděluje úkol na nějaké postupné kroky (viz např. kuchařka), na tom něco bude. Proto třeba když chce člověk donutit takhle "po konkrétních krocích" postupovat jazyk, který je vymšlený jinak, je to docela porod a intelektuální cvičení. Asi nejvíc jsem to pocítil nad Prologem - pokud se ho člověk fakt dotazuje, je to pohoda, ale jakmile potřebuje něco "pseudo-imperativního", je to běs.

    Ale třeba s Erlangem tenhle problém nemám, Erlang pořád postupuje "po krocích", akorát logika zápisu a uspořádání programu je trochu jiná.

    Mně se třeba Erlang strašně moc zalíbil oproti OOP, protože tam není jedna nelogičnost, která mi u OOP vždycky vadila: objekty se vysvětlují jako "Objektu žárovka pošlu příkaz "rožnout" a on něco udělá". Ve skutečnosti ale objekt není ten, kdo něco dělá, tím je VLÁKNO, které do kódu objektu vstupuje. Proto objekt je pořád jenom "kuchařka" a "kuchařem" je pořád vlákno. Takže žádné "řeknu objektu", ale pořád "řeknu vláknu". U jedno- nebo málo-vláknových programů se rozdíl moc nepozná, ale u masivně paralelních už je to guláš.

    Tohle zmatení Erlang elegantně odstraňuje - kuchařem je proces. Procesu posílám příkazy. Proces vykonává instrukce. Proto mi Erlang přijde (pozor náběh na flejm! :) jako vůbec nejobjektovější jazyk, který znám :)