My first language(!), and it's still my main and favourite.
I started C# and PHP which was really bad, I haven't learnt anything about programming I was just copy-pasting.
After learning functional programming what is it (without any programming language), I started to learn every functional programming language (Haskell, Elm, Clojure, ...) and most comfortable one was OCaml. It's more practical compared to other languages. It's mostly functional, but it makes you able to use other concepts. It's really (but really) fast. I'm in love with its syntax (ML syntax). Just using it for fun, solving problems, and frontend (haven't learnt it yet) with Reasonml which is just an alternate syntax for OCaml. I haven't created and projects with it yet.
I needed a concurrent and good language for web language. I have looked to other languages like Golang, Scala, Clojure. But the best ones were Erlang/Elixir. Its concurrency is really powerful and easy. It can spawn a lot of processes. Also, it's generally used for web servers and sending HTTP requests. There was Elixir, but I became more comfortable with Erlang. Both runs in Erlang VM(s).
The syntax is nice, have good frameworks like Ruby on Rails, Sinatra. The usage will be the same with Python.
For systems programming or low level things.
So what kind of problems is OCaml good for?
Every problem that Haskell or C can solve. It's both functional, imperative and object-oriented. Also fast like C.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.