I have always had a love-hate relationship with C++; it gives you almost total control over the hardware but requires that you be very mindful of that hardware. It has been a very long time since I wrote any C++ code in anger, and until yesterday I was convinced that I would never write another line of C++ in my life. Then I read an article in the most recent MSDN Magazine on Windows API development with the latest version of the C++ standard, whose working title has been “C++0x”, and will officially be known as “C++2011”. I have been aware that there was a new reversion of the standard in the works, but I had no idea how significant a step forward this latest revision is going to be. Lambda Functions, Type Inference and a “foreach” equivalent in C++? Who are you and what have you done with C++?!?
And there is a lot more to the new standard, which is now final, and should be published some time this Summer. I found this Channel9 interview with Herb Sutter; he gives a very good overview of the new features of C++2011, the process that brought it into being, and what it means for developers targeting the Windows Platform.
I think I am going to have to give C++ another chance, though I don’t know what this is going to mean for the other languages that I have been using recently; F#, IronPython and Scala? I guess we will just have to wait and see.