• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LUDWIG_Funkcionální programování (Haskell, LISP, XQuery, OCaml, F#, Scala, ...) - praxe, teorie a uplatnění

    Clojure's core typed vs Haskell

    8 hlasy od 8 respondentů
      A monad is just a monoid in the category of endofunctors, what's the problem? http://vimeo.com/38223410



      All programming languages evolve towards Lisp.

      Haskell is faster than C++, more concise than Perl, more regular than Python, more flexible than Ruby, more typeful than C#, more robust than Java, and has absolutely nothing in common with PHP. — Autrijus Tang

      There may, indeed, be other applications of the [lambda calculus] than its use as a logic. — Alonzo Church, 1932
      rozbalit záhlaví
      LUDWIG_
      LUDWIG_ --- ---
      KAMAHL: to je super, konecne to nekdo sepsal po lopate bez ty pro mnoho lidi strasidelny matematicky terminologie :)
      KAMAHL
      KAMAHL --- ---
      Tohle mě zaujalo. Najdete tam odkazy i na další díly.
      The Algebra of Algebraic Data Types
      LUDWIG_
      LUDWIG_ --- ---
      Memoizing recursive functions via the fixed-point Y combinator: Applying functional programming techniques to Javascript
      http://matt.might.net/...tation-of-recursive-fixed-point-y-combinator-in-javascript-for-memoization/
      LUDWIG_
      LUDWIG_ --- ---
      jak spravne designovat map/reduce programy? pomoci monoidu: http://arxiv.org/abs/1304.7544
      LUDWIG_
      LUDWIG_ --- ---
      Idris -
      http://idris-lang.org/

      docela zajimavy jazyk inspirovany haskellem, co ma "dependent types" - tedy datove typy, ktere muzou mit predikaty na hodnoty, cimz se muze definovat chovani programu a overit ho staticky (trochu neco jako pokrocile assertions v jml pro javu)
      LITTLELI
      LITTLELI --- ---
      LUDWIG_: mě spíš zaskočil ten Java Interop v Clojure. Kdo by řekl, že psát javu pomocí clojure lze velmi efektivně a hlavně o polovinu méně.
      BROUKOID
      BROUKOID --- ---
      LUDWIG_: megalol :)
      BROUKOID
      BROUKOID --- ---
      LUDWIG_: asi jsem zbytecne pesimisticky - pokud to znamena, ze firmy akceptuji ve vetsim meritku existenci funkcionalnich jazyku, je to uz jenom detail :)
      LUDWIG_
      LUDWIG_ --- ---
      BROUKOID: no, pointa je, ze nez se k temhle vecem dostanou, meli by uz mit zvladnuty nejaky zaklady a mysl nastavenou tak, ze k tomu nebudou tolik sklouzavat... zatimco do scaly se muzou vesele vrhnout s presvedcenim, ze to je java s mensim poctem slozenych zavorek :)
      BROUKOID
      BROUKOID --- ---
      LUDWIG_: stejne se obavam, ze po zvladnuti zaludnosti "syntaxe" lispu by nakonec objekto-proceduralne psali i v Clojure (koneckoncu v lispu se da psat imperativne celkem snadno) - a dovedu si predstavit, ze nekteri "experti" by i v haskellu dokazali vytvorit temer kompletne imperativni kod, jen co by objevili IO :)
      LUDWIG_
      LUDWIG_ --- ---
      BROUKOID: To jo, Clojure by urcite lidi zaskocila. Ale rekl bych, ze ve Scale se da celkem matlat kod "javovskym" stylem, takze ten prechod by byl mene bolestivy, i kdyz zadny dobry funkcionalni kod by z toho nevznikl :)
      BROUKOID
      BROUKOID --- ---
      LUDWIG_: jasne, tohle ja chapu, ale predstavil jsem si tech par "good Java developer"-u, ktere znam (rozumej: lide kteri vice nez 10 let delaji v jave a maximalne maji mlhave povedomi ze kdysi se ucili neco jako C, C++ a za vrchol IT znalosti povazuji design patterns), jak se tvari kdyz jim sef rekne:
      "Klucii, tak ode dneska delate v Clojure, je to v JVM, takze pohoda, zadnej problem, ne?" :)

      .. a jeste veselejsi predstava je, jak se tvari kdyz zjisti ze Clojure je temer cisty Common Lisp :)
      LUDWIG_
      LUDWIG_ --- ---
      BROUKOID: je to treba brat s rezervou, je to preci jen agentura - i kdyz se specializuje na rekrutovani lidi s technickyma znalostma, headhunteri vetsinou vystudovali nejaky humanitni obor a o tech technologiich maji spis jen povrchni znalosti. je to ale takovy pekny manazersky prehled, jaky jazyky se v cem pouzivaji. me zas pobavil ten uvod: "However, to my disappointed he was exclusively using a language that I had never heard of before... Haskell. What further compounded my disappointment was that despite the candidate wanting to look for something new, he would only consider functional programming based roles..." :D
      BROUKOID
      BROUKOID --- ---
      LUDWIG_: hezke, pozitivni.. ovsem veta "Finally, whilst I have never coded, because Clojure/Scala is on the JVM it’s very easy to pick up for a good Java developer." me opravdu pobavila :)
      LUDWIG_
      LUDWIG_ --- ---
      The rise of functional programming in Banks | Oxford Knight Blog
      http://blog.oxfordknight.com/?p=269
      KRAL_KAREL_IV
      KRAL_KAREL_IV --- ---
      Kdyby náhodou někdo neznal Cartesian Closed Comic: http://ro-che.info/ccc/
      LITTLELI
      LITTLELI --- ---
      nepoužíval bych termín paralelní ale konkurentní. paralelní může být klidně i jinak nekonkurentní úloha. ne že by to bylo blbě, ale paralelní úlohou je i použití vektorových jednotek čistě sekvenčním způsobem (prostě SIMD), ačkoli tam většina obtíží v podstatě neexistuje.

      Nekoketujete někdo s CSP, například v Golang? Ono je zajímavé, že se vůbec nesnaží explicitně o minimalizaci pohyblivých částí, spíše jde o to, že algoritmy jsou od začátku zaměřené na způsob předávání dat mezi mnoha najednou běžícími částmi programu. A vlastně je to celkem starobylá záležitost, že? :)
      LUDWIG_
      LUDWIG_ --- ---
      Kliknutím sem můžete změnit nastavení reklam