• ú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í
    SHAGA
    SHAGA --- ---
    KOJA: Perl se používá na trochu jiné věci a je tam vlastně jen z historických důvodů.

    Co se týče technologií - je rozdíl mezi technologií, co vznikla předevčírem a technologií, co je tady přes dvacet let. Už jsem si párkrát poměrně natloukl tímhle opensource, co je ho přece plný internet, stačí stáhnout a nakonfigurovat - jenže ono to pak funguje jen do prvního problému a jen pro jeden a půl konkrétního usecase, který navíc samozřejmě není ten váš.
    Další rozměr je ten, že pro spoustu technologií je distribuce, fault tolerancy a concurrency něco, co se tam přivymyslelo, kdežto Erlang s tím byl vynalezený. Rozdíl je to nebetyčný. Tvrdím, že pro use cases, pro které byl Erlang navržen, je neskonale produktivnější než kupříkladu Java. Ta produktivita se ovšem neměří v tom, jak rychle jsem schopný vygenerovat projekt ve spring boot, ale v tom, jak se to pak chová na produkci a jak jsem schopen do systému sahat.
    KOJA
    KOJA --- ---
    SHAGA, LISKNI_SI: Mockrat dekuju!

    Chapu, ze nasledujici otazka je tady dost chucpe ale odvazim se.

    Muj rozhled je dost omezeny - zivi mne C++ a okolo sebe jsem videl vzdy temer vyhradne dalsi proceduralni jazyky (java, python). Posledni dobou mam pocit, ze komponenty pro distribuovane systemy se komoditizuji (xml-rpc, grpc, zeroMQ, rabbitMQ, kafka, docker, kubernetes, hdfs, cephfs, ...). Prijde mi, ze asi nejvic veci vzniklo v ramci java ekosystemu (videno u sousedu, treba se pletu) byt rozhrani mivaji budto pro vicero jazyku nebo bez vazby na konkretni jazyky (REST API, protobuffery, ...).

    Takze pokud jste to nemysleli tak, ze byste i dneska kladli hlavne duraz na to aby engine vznikl ve funkcionalnim jazyce (cemuz mozna trochu odporuje ten perl? nevim), mam to tedy brat tak, ze Erlang ma skvele nastroje a Erlang VM se skvele hodi na ten middleware a v souctu vam to vychazi rozumnejsi volba nez treba (pardon) java (vcetne intellij apod.) a nejaky open-source middleware?

    Pro jistotu opakuju - nejde mi o zadny flame ani netlacim nejaky nazor, jsem proste zvedavy a vy mate tu smulu, ze vypadate rozumne :-) Vychazim hlavne z toho, ze programatoru v C++, jave, pythonu jsou plne pracaky a kdejaky Google/Facebook/etc vyviji open source projekty pro "enterprise" distribuovane systemy zatimco Erlang ani Haskell tolik rozsireny asi nebude.

    Predem diky za nazory.
    SHAGA
    SHAGA --- ---
    SHAGA: s/dializer/dialyzer
    SHAGA
    SHAGA --- ---
    LUDWIG_: Samozřejmě. Teď už dokonce ve voting režimu v pull request builderu - spadne ti dializer, nezamergeuješ.
    LISKNI_SI
    LISKNI_SI --- ---
    (Ale tak furt lepší jak scala, tam jsem šel po týdnu do obchodu pro ramky.)
    LISKNI_SI
    LISKNI_SI --- ---
    LUDWIG_: Jop. Musel jsem si kvůli němu na 32b debian nainstalovat 64b erlang a zapnout v kernelu zswap. A naučit se zavírat zbytečný taby v browseru.
    LUDWIG_
    LUDWIG_ --- ---
    SHAGA:
    LISKNI_SI: Pouzivali jste Dialyzer?
    SHAGA
    SHAGA --- ---
    KOJA: Hodně napsal už tady kolega liskni_si, který na našem analytickém engine zanechal nesmazatelné stopy :) Nicméně - engine jako takový využívá z Erlangu jen subset, čili není až tak závislý na tom, co dělá Erlang Erlangem. Nicméně ten analytický engine poměrně mohutně využívá služeb našeho vlastního middleware, který je také napsaný v Erlangu a ten bych v ničem jiném (tedy kromě Elixíru) rozhodně nepsal - je to distribuovaný systém posouvající zprávy z jednoho konce clusteru na druhý a dělající s těmi zprávami během cesty různá kouzla a na to je Erlang (nebo cokoliv jiného běžícího nad Erlang VM) naprosto fantastický.
    LISKNI_SI
    LISKNI_SI --- ---
    KOJA: Legrační je, že ta aktuální (druhá) verze analytickýho enginu byla postupně napsaná v Haskellu, Perlu a Erlangu — stejný algoritmy, stejně pojmenovaný funkce, stejný všecko, jen "trochu" jiný jazyky. V Haskellu se psal prototyp, přepis Perl aby zapadlo do tehdejší codebase, přepis do Erlangu protože Perl byl pomalej a blbě zapadal do tý cloudový infra.

    Kdybych to psal dneska, vynechal bych ten Perlovej mezikrok, ale mezi Erlangem/Haskellem bych váhal. Haskell běží o dost rychlej a líp se refaktoruje, ale Erlang se úplně totálně megabožsky rychle kompiluje a testuje, a na produkci je to radost běhat, ladit, monitorovat. V Haskellu jsou knihovny na úplně všecko, v Erlangu chybí základní datový struktury, ale ten rozdíl v operations je tak velkej, že bych to přesto zvažoval.

    (je ale možný, že kluci, kteří na tom narozdíl ode mě pracují dodnes, to vidí jinak anebo maj další postřehy)
    KOJA
    KOJA --- ---
    SHAGA: Muzu se ciste ze zvedavosti a bez znalosti FP optat na nazory? O FP, potazmo Erlangu nevim ani zbla - proklikani tutorialu k Haskellu a opakovany prchlivy dojem, ze chapu monady nepocitam.

    Kdybys/te ten analyticky engine zacinal/i psat na zelene louce, jak bys/byste se divali na Erlang dnes? Co je na nem nejzajimavejsiho? Je to OTP? Meni treba situaci to, ze se za posledni leta vice zpopularizovaly i dalsi funkcionalni jazyky nebo, ze se objevila virtualizace v podobe Kubernetes/Docker Swarm a pod.?

    Nechci zadny flame, jen jsem zvedavy na cizi zkusenosti. Uvazuju tak, ze jazyk je to relativne exoticky, takze asi mate padne duvody proc ho pouzivat.
    SHAGA
    SHAGA --- ---
    UETOYO: Elixir máme rádi (osobně), ale nasazený ho nemáme, přeci jen Erlang děláme už docela dlouho a tou dobou Elixír ještě nebyl. A nechceme naší už i tak heterogení platformu zanášet dalším jazykem.

    Děláme v oboru www.gooddata.com.
    UETOYO
    UETOYO --- ---
    SHAGA: V jakém oboru se pohybujete? Jinak hodně slyším o Elixiru, máte s ním nějaké zkušenosti?
    SHAGA
    SHAGA --- ---
    Hola, kdybyste někdo chtěli v Praze dělat profesionálně Erlang, tak se mi ozvěte, mám tu nějaké otevřené pozice. Zkušenost s Erlangem není povinná, spíš je dobré umět programovat a vědět něco o funcionálním paradigmatu jako takovém, s takovým základem se to doučíte rychle. Junioři, senioři, je mi to fuk, poradíme si.
    UETOYO
    UETOYO --- ---
    RUDOLF
    RUDOLF --- ---
    hehe, tohle nedávám.. ale tady by mohlo pobavit

    Typing the technical interview
    https://aphyr.com/posts/342-typing-the-technical-interview
    CABOWITZ
    CABOWITZ --- ---
    v ramci vyhledani informaci o livecodingu a haskellu jsem objevil tuto podivuhodnou meta-hru :)
    Nomyx, the game where you can change the rules
    http://www.nomyx.net/
    UETOYO
    UETOYO --- ---
    SHINIGAMI: "jako kluka ho ta technika prece jen bere trochu vic"
    Opravdu?
    SHINIGAMI
    SHINIGAMI --- ---
    KOMPAS: tak vis jak, kdyz maj neco delat nebo jit spat, tak jsou uzasne aktivni a zvidavi, jen aby se tomy vyhli;).

    LISKNI_SI: 9 a 7, s tim ze ten mladsi se samozrejme snazi segru dohnat a predehnat, a jako kluka ho ta technika prece jen bere trochu vic..
    LISKNI_SI
    LISKNI_SI --- ---
    SHINIGAMI: Kolik mrňousovi je?
    Kliknutím sem můžete změnit nastavení reklam