OCaml at First Glance
I'm surprised people care about the syntax... that's pretty much the least important part of the language.<p>I've got a few issues with OCaml<p>1. The standard library is inconsistent. Different projects use different alternatives and it's annoying to switch between then.<p>2. Concurrency using Lwt/Async. Monads feel more ad-hoc in OCaml than Haskell because there's no type classes and again no consensus on how it should be done. Some projects use tons of variation of `>>=`, other use `let%bind`. Again, no clear consensus and reliance on external libraries which aren't always well documented. I find code relying too much on monads to be much less elegant and simple that plain OCaml.<p>3. "includes". I tend to get lost in codebase which abuse includes.<p>4. It's a small community. If you want to work on "real world" stuff, most likely you will stumble into tooling/libraries issues. Not all of these things are very mature or documented and they're evolving fast.<p>I'm wondering if F# suffers from the same issues.