Re: Direction number one
Languages evolve… the problem C++ was trying to solve in the early 90's is somewhat different to the problem being solved today.
I recently started doing some serious C++ work using Qt and I was pleasantly surprised just how much the language had evolved and how much there was that made it truly feel like "managed code" languages such as C# and Java, but without the Windows-isms of C# or the quirks of Java.
It has got to be by far one of the most universal programming languages, second only to C, as it will run on all kinds of platforms, not just general-purpose operating systems but real-time kernels and bare-iron too.