Hacker News new | ask | show | jobs
by Vic-nyc 5670 days ago
I have more modest needs- I would like to know a few practical reasons why I would choose to invest time in learning it vs one of the other non-mainstream & mainstream languages out there. That being said, I understand there's always value in learning something new.
2 comments

Ocaml is simple, expressive and fast. While it suffers in terms of libaries and community support it makes a good systems language and is fantastic for expressing complex algorithms and data structures.

If that doesn't interest you, try some of these:

http://anil.recoil.org/papers/2010-hotcloud-lamp.pdf

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.64....

http://perso.eleves.bretagne.ens-cachan.fr/~dagand/opis/opis...

http://linkinghub.elsevier.com/retrieve/pii/S016764230600071...

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.156...

Ocaml prepares you for Fsharp - a first class language of the .NET framework. Full IDE support, cross-platform, very liberal licensing, and more or less on the cutting-edge from a MS languages point of view. Ocaml is also used in the finance domain a bit.

http://ocaml.janestreet.com/

Particularly the option types, pipelining, pattern matching, etc look very different to me, coming from mainstream languages.

Conversely, OCaml allows you the pleasure of a ML-style language without being shackled to .NET.

It is a very, very nice language to work with. Its performance when compiled is nothing to sneeze at, either.

Basically, short of any intensive bit twiddling, I'd take OCaml over C. You get the speed of of native code with the expressivity, type safety and memory management features of a higher level language. It is easier to write solid apps with, since it's harder to screw things up in OCaml.