3 ms·
Speaking as someone who really likes OCaml, I think the best parts about are the type system (very similar to Haskell's), the module system, and its explicit fo
by silentbicycle 18y ago
Speaking as someone who really likes OCaml, I think the best parts about are the type system (very similar to Haskell's), the module system, and its explicit focus on being a pragmatic multiparadigm language. It has some gotchas* and tradeoffs, like every real language, but it's quite worth learning. It's particularly well-suited for projects that involve complex data structures (e.g. compilers, see: http://flint.cs.yale.edu/cs421/case-for-ml.html http://flint.cs.yale.edu/cs421/case-for-ml.html) or heavy high-level numeric computation. It would probably be quite good for game programming. Also, it does both bytecode and (Fast!) native compilation, so it's pretty portable.
* Many of which are due to the small community, e.g. somewhat poor documentation in many third-party libraries, few books in English (though the English translation of the French O'Reilly book is online as a free PDF, and quite good IMHO: http://caml.inria.fr/pub/docs/oreilly-book/ http://caml.inria.fr/pub/docs/oreilly-book/). Also, it doesn't have operator/function overloading (outside of its OO framework), which can be annoying, though this seems to gain it near-instantaneous compilation, even with its remarkably thorough compile-time error checking.