C or Lisp would be better choices if maximum learning is the goal, or Haskell if hard core type fundamentalism appeals.
I suggested OCaml for its static typing features, speed (comparable to C++), potential to deploy universally (desktop, mobile, web), and last but not least because of its pragmatism--if you need to do some imperative programming, it gets out of your way.