OCaml Trading System (mission critical)

Hello.

Találtam ezt a videót:
http://ocaml.janestreet.com/?q=node/61

Dióhéjban, egy kereskedelmi cég egyik architectje beszél arról, hogy
1, mivel is foglalkoznak
2, ehhez miért OCaml-t használnak
3, miért is fasza dolog ez

Kinek mi a véleménye róla? Ez jó érvként szolgálhat a funkcionális programozás mellett?
[Az optimális eset az lenne, ha a vélemény a videó megtekintése után íródna be, de nincsenek illúzióim. :)]

Hozzászólások

Magahoz a funkcionalis vs. imperativ temahoz, esetleg az OCaml vs. tetszoleges imperativ nyelv vitahoz nem akarok hozzaszolni, mert nincsenek mely funkcionalis programozasi ismereteim. Feltetelezem, hogy van par kellemes kovetkezmenye az OCaml allapotmentessegenek, ami jotekonyan hat a trading platform skalazodasara.

Viszont az mar egy kicsit erdekesebb kerdes, hogy hogyan lennenek kepesek a fejlesztocsapat letszamat jelentosen novelni, ha neadjisten beut a nagy uzlet? Allitolag mar jo C++ programozot is pokolian nehez talalni a Wall Street-en, hat meg jo OCaml programozot.

Szerintem az esetek elsopro tobbsegeben ez utobbi kerdesben vereznek el a funkcionalis nyelvek, technologiai oldalrol feltehetoleg elegge kiforrottak mar.

Érdekes amit írsz, az előadó a talk vége felé (meg a Q&A-ban asszem) kitér erre.

Azt mondja, hogy -- bár talán most is vannak szabad helyek -- jó OCaml programozót, igazán jó programozót könnyebb találni ilyen nyelvekhez. Valami olyasmiről beszélt, hogy a nagyon mainstream nyelveknél a rengeteg jelentkező közül nehéz kiszűrni azt aki tényleg ért a dologhoz, akibe úgymond érdemes befektetni. Ezzel szemben, akik ilyen extrémebb nyelvekben "utaznak" azok jellemzően mélyebb ismeretekkel és érdeklődéssel rendelkeznek.

Persze ezt csak az idő meg a piac döntheti el, de a vállalat egyenlőre él és virul. :)

-----------
"Generally, Russian technology assumes dumb machines and smart humans, not the other way around." -- The Russian Tea HOWTO

Az en C++-al kapcsolatos tapasztalatom az, hogy a fiatal programozok kozott 10-bol atlag 2-3 volt jo (ezek nagyon minimalis nem szakmai alapu eloszuresen jottek at).

Felteszem ez OCaml eseten lehet a duplaja is. De mire feltoltesz egy 10 fos csapatot (ami nem oruletesen nagy), akkor is le kell interjuztatnod 30-40 magat OCaml programozonak tarto embert. Annyit pedig nehez talalni.

Van egy masik alternativa, jelesul az, hogy sajat maguk kepzik a csapatot. Felvesznek jo kepessegu, tanulekony embereket es nehany honap betanulas utan vegulis kesz a csapat. Ehhez kell tanar, tananyag, ido, penz.... Plusz ott a veszely, hogy a sokpenzen becsopogtetett tudas elvesz, ha emberunk ugy dont, hogy 5%-nyi fizetestobbletert atmegy a konkurrenciahoz C++-t kodolni.

"Ezzel szemben, akik ilyen extrémebb nyelvekben "utaznak" azok jellemzően mélyebb ismeretekkel és érdeklődéssel rendelkeznek." Ez egesz egyszeruen nem igaz. Nem a hasznalt nyelv hatarozza meg a szakmai kvalitast, hanem a korabban teljesitett kihivasok, illetve az illeto tanulekonysaga. Termeszetesen a PHP-hez es JavaScript-hez gyakran eleg rossz kihivasok tartoznak, viszont a C/C++ fejlesztok mar eleg komoly feladatokba szoktak belefutni.

Félreértesz, vagyis nem tettem magam elég világossá. Az előadó mondta az extrém nyelves példát (vagy én értettem félre valamit). Nem értek vele feltétlenül egyet, csak ismertettem, amit mondott. :)

Egyébként érdemes végignézni a videót, nagyon jól magyaráz a csávó.

-----------
"Generally, Russian technology assumes dumb machines and smart humans, not the other way around." -- The Russian Tea HOWTO

Ez egesz egyszeruen nem igaz. Nem a hasznalt nyelv hatarozza meg a szakmai kvalitast, hanem a korabban teljesitett kihivasok, illetve az illeto tanulekonysaga.

Igen komoly erdeklodes kell a szamitastechnika es maga a programozas irant ahhoz, ohgy raszand magad, hogy szabadidodben felfedezz egy nem mainstream nyelvet, ezert szvsz ez egy jo jele az illeto tanulekonysaganak. Mar nem tudom, hogy hol olvastam, de talan a Guglinal elony, ha tudsz Pythonul, meg ha nem is abban fogsz programozni...

----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"

Nem szamitastechnika szakkorhoz toboroztak embereket, hanem egy valodi projektet kell idore kitolniuk az ajton. Ilyenkor nem az erdeklodes szamit, hanem, hogy kepes-e nehez feladatokat megoldani, komplex kodbazist atlatni, debuggolni, fejleszteni. Ez koszono viszonyban sincs azzal, hogy szabadidejeben haxolgatott nehany programot OCaml-ben. Azert az OCaml-t hasznalni tudo fejlesztok kozul eleg keves a profi (== OCaml programozassal keresi a kenyeret). A tobbi nem szamit.

Az meg, hogy valami epkezlab szkriptnyelvet (Python, Ruby, stb.) tudsz hasznalni, az jelentos extra, mert igencsak meg tudja dobni az ember produktivitasat egysegsugarunal nehezebb fejlesztesi feladatok eseten. Csak abba gondolj bele, hogy a fentieknel jelentosen korlatozottabb bash, sed, grep, awk vagy perl, php is mekkora segitseg tud lenni neha.

Azért, hogy feldobjam egy kicsit a topikot (és esetleg több ember figyelmét is felhívjam a videóra) íme egy OCaml doksi:

http://ocamlunix.forge.ocamlcore.org/

(via zsitvaij)

Ezen már lehet flémelni, és akkor sokáig fenn lesz a thread. ;)

-----------
"Generally, Russian technology assumes dumb machines and smart humans, not the other way around." -- The Russian Tea HOWTO