I have bought myself a massive book, “Professional C++ – Second Edition”, and I am working through it. I have also downloaded and watched various talks covering C++11 and WinRT, from the Microsft BUILD converence that was held in Anaheim, California. I watched presentations by people like (the legendary) Herb Sutter. I have consequently started to re-write my whole Farve artificial intelligence system in C++.
One word: C++ has always been the best, and with the new language features in C++11 it is not just still the most efficient programming language in the world, but it has native support for all the modern concepts found in ‘higher-level’ languages like C# – properties, delegates, events, lambdas… not to mention the library objects it had for long now in the STL, things like shared_ptr…
OK that was not one word, it was one paragraph though. C++ is back baby. And now also with the MOST powerful support for WinRT programming (the Windows Runtime – it truly is, as Microsoft say – a bold new reimagining of Windows). Oh yes, and C++ AMP – Accelerated Massive Parallelism – writing code that runs tens or hundreds of times faster, on DirectX hardware… it is.. beautiful.
There is little doubt in my mind – my language of choice is C++ again. The ease of C# – any monkey can code in C# – has for a time lured me away from my first love, which is C++. But now I feel guilty for having left.
Don’t get me wrong – .NET is nice. It is very nice!
But nice is just… nice. C++ is more than ‘just nice’. And C++11 is, as of this writing, the best programming language there is, IMHO.
As Herb Sutter kept pointing out in his presentations – C++11 is Clean, Safe, and Fast.
And I am very impressed with the details of Windows 8! It is really impressive. The WinMD (Windows Metadata – which makes the whole Windows Metro API available to ANY language – hence the ability to use JavaScript, for example) is great. The new object-oriented API, with namespaces and interfaces etc, is great. The language projections are great. Oh and the native support in Microsoft C++!! for the WIndows Runtime, and the fact that C++ is IDEAL for it (since it is, at the core, an extension of COM), is great.
So much to learn!!