3 ms·
Because Ocaml is easily the ugliest of all the ML languages. I will never understand why Ocaml became the popular one. SML is much more elegant in my opinion (a
by hajile 9y ago
Because Ocaml is easily the ugliest of all the ML languages. I will never understand why Ocaml became the popular one. SML is much more elegant in my opinion (and even adding all the good Ocaml stuff to SML still leaves a much more elegant language).
The further reason is that SML is very popular in Academia (perhaps that is its downfall). The same holds true for things like lisp where Common Lisp is undoubtedly the most used, but scheme is usually an example language because it is more elegant (and with fewer warts).
- xfer 9y agoCan you define what you mean by "the ugliest"? SML is used in academics because the language is very well-defined(both semantically and typing rules) and all the fundamentals of typed functional programming, so it is preferred for teaching. Ocaml is a moving goalpost, and the language has no formal specification, afaik.
- hajile 9y agoThe fact that the implementation is the spec is a large part of the issue. Someone feels like adding a feature, so they just tack it on somewhere until the language has a million syntactic features littered everywhere. The experimentation aspect is nice, but to me, the final product is an unwieldy Frankenstein (though still better than many more popular languages). http://adam.chlipala.net/mlcomp/ http://adam.chlipala.net/mlcomp/ SML is nice enough as is, but the progress with Successor ML to gradually add the best of Ocaml on top is a very appealing option. As a personal gripe, both languages need better Unicode support.
- pjmlp 9y agoSpeaking from European universities point of view, when I was there everyone was using Caml Light, so when its new version came out, Objective Caml, it was natural just to upgrade there. Then you have countries like France, INRIA's home, where schools are proud to teach their students about local tech. INRIA also tries to connect with the industry, instead of being stuck in Academic stuff.