C++ is the most complex language on the planet, in my opinion, if one is 
serious about mastering it. I spent 6 to 10 years on it, and I would say I am 
still at mid-level capability.

Another issue with C++ is that a lot of experience is required to organize and 
construct a project so that it can be understood and maintained by others in 
the future, as spaghetti code is what C++ tends towards in the long run. It 
takes a lot of experience to avoid it.

I found that the more I learned about C++, the less I used objects with 
inheritance and the more I used composition with template metaprogramming.

Using templates with C++ leads to the ultimate destination of thinking in terms 
of types; in my view a far stronger way to frame solutions to programming 
problems.

Using Nim as first language allows one to bypass all this evolution in 
thinking, because Araq has already built a language that gets you there much 
faster and almost painlessly. 

Reply via email to