Why someone should learn ocaml?

Why someone should learn ocaml?

Other urls found in this thread:

blog.janestreet.com/faster-ocaml-to-c-calls/
twitter.com/NSFWRedditImage

No one should. Let it die.

Many reasons, like maybe you want a job at Jane St Capital in NY.

If you don't know anything about functional programming then you should start with 'Programming in Standard ML' by Harper, with the free new draft off his personal site. It's a much cleaner language and usually used for teaching (much like Scheme is used for teaching). It's a fantastic book that will also teach you how to program if you don't know already.

From there you can learn any other func language including OCaml

Least obtrusive FP language out there, those don't really get faster than OCaml either. Sane and conservative design makes sure you don't get broken shit in every release. Very powerful module system that removes the need for any sort of OOP even though it supports it. Overall people who know OCaml (or its variant F# on MS platform) rarely use another language when it's not blatantly unsuitable.

If you want to use SML but with uglier syntax.
If you want language that can't even into multithreading.
If you want language that doesn't have lot of libraries and has really painful C interface.
If you want language that is experiment ground and want features implement by some CS student.

There's some undocumented C interfaces too
blog.janestreet.com/faster-ocaml-to-c-calls/

OCaml pops up in the weirdest places, besides finance you also find it being used for crypto test benches and some biolab work for some reason usually with calls to C libraries. Facebook uses it a lot too, for reasons unk

because it has a cute camel as the logo

>Facebook uses it a lot too, for reasons unk
Inhouse compilers afaik. Menhir is GOAT parser generator and it's much more convenient for such programs than most other FP languages.
The only downside with OCaml is the undocumented ABI honestly (among other things, it makes calling C procedures awkward).

no parallelism

>sharing address space (lol) is the only way to do parallelism
Kys

>spawning new process when ever you need to run something parallel
SAD, also slow as shit.

this

Best jobs are in OCaml or Haskell.

I am an OCaml professional and amateur developer.

>OCaml professional developer
Tell us more

I am paid to write a C code generator. And I know that industry use OCaml when it's about static verification, because OCaml is a reliable language with strong pattern matching.

So you're doing metaprogramming?

Ocaml is real world language, Haskell is autism

Because I smoke camel cigs.

...

Implying many apps really need multicore.

grapes are sour too

If you enjoy terrible tooling, terrible standard library and out-of-date packages.