What are the biggest reasons newcomers give up on OCaml?

Without disagreeing with you here (it’s starting to feel like a running gag :slight_smile: ), whenever that argument is put forward, it would be nice to give a specific list of missing items.

Some examples:

  • JSON: use yojson, jsonm, ezjsonm, ezjsonm?
  • Use lwt or async?
  • Use result or rresult?
  • Use dune or not? Some high-profile packages are not using dune.
  • Try using an http client library
  • Real World OCaml is often recommended as a book but it is heavily biased towards Jane Street Libraries which are their own ecosystem - something beginners don’t realise
  • How to deal with unicode and UTF8? It’s not explicit

These are just a few examples. If you look at other languages (Go, Gleam, Vlang) many of them have a standard library that makes these decisions for you. You are still free to use a more advanced HTTP library but you are not facing these decisions right at the beginning.

6 Likes