However I did want to comment on my favourite line in this: " if you properly learn C++, Haskell and Lisp "
Yes. If you properly learn them I would fully agree.
I have in my time made my living as both a C++ programmer and a Lisp programmer and was pretty good at both - but not even close to having properly learned either.
Learning them properly would be a life times experience and I suspect you would be a pretty decent programmer at the end of it.