• ú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í
    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_ --- ---
    LUDWIG_
    LUDWIG_ --- ---
    BROUKOID: v podstate to ve 2 vetach shrnuje takovou tu predpoved, proc je nastup funkcionalniho programovani nevyhnutelny (at uz ve forme cistych jazyku, nebo zmenach postupu ve stavajicich jazycich): delat slozitejsi GUI bez OOP je dost velky maglajz (proto se v 90. letech rozmohlo OOP, i kdyz existovalo predtim), delat slozitejsi paralelni programy imperativne je velky maglajz :)
    BROUKOID
    BROUKOID --- ---
    LUDWIG_: cool :) tenhle citat:

    OO makes code understandable by encapsulating moving parts. FP makes code understandable by minimizing moving parts.

    bych mel zaramovat a povesit v kanclu :)
    LUDWIG_
    LUDWIG_ --- ---
    #AltDevBlogADay » Functional Programming in C++
    http://www.altdevblogaday.com/2012/04/26/functional-programming-in-c/
    FRAKTALEK
    FRAKTALEK --- ---
    Welcome to Scalajobz.com
    http://www.scalajobz.com/
    LUDWIG_
    LUDWIG_ --- ---
    J8.IO - Run Java 8 On-line!
    http://www.j8.io/
    LUDWIG_
    LUDWIG_ --- ---
    LITTLELI
    LITTLELI --- ---
    LITTLELI: tak zpátky na stromy... je to tam, ale mám pocit, že to není úplně košer.
    LITTLELI
    LITTLELI --- ---
    no musím říct, že mě teda ten Scala course pěkně sere, protože ani za boha nemůžu submitovat. A důvod? Prý to nerozezná můj email. Tak děkuju moc.
    KAMAHL
    KAMAHL --- ---
    LUDWIG_: Spíš bych se chtěl obecně seznámit s principy jak to funguje než nějaké konkrétní použití
    LUDWIG_
    LUDWIG_ --- ---
    KAMAHL: mozna trochu relevantni je, v jake domene to chces uplatnit (gui, herni engine, server...) - sam zkusenosti nemam, ale kamaradi, co reaktivni programovani delali v haskellu, si to vetsinou nakodili vsechno sami, nekdo pouzival, tusim, yampa
    KAMAHL
    KAMAHL --- ---
    Jakou knihovnu byste doporučili na reaktivní funkcionální programování v haskellu? (Podmínka: Dobře dokumentovanou)
    LUDWIG_
    LUDWIG_ --- ---
    LITTLELI: hm, kdyz si rozkliknes to score v assignments, tak tam vetsinou byva command line vystup tech jejich testu, ktery by ti mel napovedet, kde se ztratily body (napr. jejich test ocekava, ze vyuzijes nakou funkci, co jsi predtim definoval, tedy ocekava, ze tam bude call uvnitr tela funkce... nebo napr. stylecheck)
    GARFIELD
    GARFIELD --- ---
    LITTLELI: vidim to stejne, chybi mi alespon zverejneny reseni

    muzem pripadne dat nejaky parovani - alespon si porovnat reseni po terminu nebo udelat "studijni skupinu" :)
    LITTLELI
    LITTLELI --- ---
    GARFIELD: ja nevim, nemam zadnou zpetnou vazbu nebo kontrolu - delam na tom sam, to je myslim nejhorsi. sice to projde testama ale protoze jsem v mistnosti jediny a tudiz nejchytrejsi zas takova zabava to neni.
    GARFIELD
    GARFIELD --- ---
    LITTLELI: taky to delam a sem na tom uplne stejne. Dycky x casu jen cumim anebo pisu spis na papir nez do IDE :) a pak z toho vyleze funkce na jeden radek
    LITTLELI
    LITTLELI --- ---
    snad se s tim nejak sziju.

    Z jineho soudku. Snazim se delat ty ulohy na coursera. Samozrejme se to snazim testovat, presne tak jak je pozadovano. Jenze kdyz jsem to submitnul, tak to neproslo nejakym internim testem. Jde o implementaci map. Trosku jsem to zkoumal, ale po notne chvili hledani hodil rucnik do ringu. 9.67/10 mi musi stacit, proste to nevidim a nechapu jak by mohlo nastat to co ten jejich test hlasi, ze nastava.

    Taky zjistuju, ze mi ten funkcionalni pristup proste dela potize. je mi jasny, ze kdyz jsem predtim nikdy ve FP jazyce nic nepsal, a pritom mam pomerne dlouhou zkusenost s programovanim, tak se musim obrnit urcitou trpelivosti. Jenze stejne me to stve.
    PAD
    PAD --- ---
    LUDWIG_:
    LITTLELI:

    IDEA v posledni dobe vylepsila vyrazne podporu Scaly ... uz je kodovani temer tak pohodlne, jak v Jave ...
    LUDWIG_
    LUDWIG_ --- ---
    LUDWIG_: tahle diskuze mi vnukla nápad na anketu - viz záhlaví.
    LUDWIG_
    LUDWIG_ --- ---
    LITTLELI: Scala IDE je docela fajn, i když občas se sesype (což však Eclipse bez Scaly taky :)). Debugging ve Scala IDE mi nějak záludný nepřijde, ale padá to možná častěji než ten Javovský.
    Typová hysterie jak kdy - když je to něco rozsáhlejšího, tak rozhodně to člověku ušetří pár vrásek :)
    LITTLELI
    LITTLELI --- ---
    LUDWIG_: vis argument je prosty, na kilo javy kilo cukru... ne jde o to, ze lidi proste nechteji premyslet / ucit se neco noveho. mne osobne vadi spis tooling, hlavne podpora jazyka v IDE. pomerne zaludne ladeni a takove drobnosti. take si nejsem vzdycky jisty, ze ta typova hysterie je vzdy na miste - ale to je spis pocit, nez ze bych tim nejak argumentoval.
    LUDWIG_
    LUDWIG_ --- ---
    CERBERUS: a maji tu "zdanlivou neprehlednost kodu" necim dolozenou? z meho pohledu je scala o dost kompaktnejsi nez java, tim padem je jednodussi se v ni orientovat (v jave se vzdycky nachumeli spousta rutinniho balastu, ve kterym je pak snadny se ztratit).
    moje kritika vuci scale by byla, ze driv se pres ruzny verze obcas celkem radikalne menilo api (napr. 2.8->2.9), takze se pri upgradu na novou verzi scaly leccos rozbilo. a sbt je docela v plenkach (proti antu ci mavenu), i kdyz sbt je vic sexy :)

    proto jsem tedy ve svem doporuceni psal "volne-smyslejici" firmu - tedy vedeni, co prekousne to strasidelne funkcionalni programovani a riskne ty pripadne problemy s upgrady / buildy ...
    Kliknutím sem můžete změnit nastavení reklam