Excellent talk! I've been promoting C++ resource management for years; but with C++11's move semantics there's no longer any excuse for unsafe practices that plagued old C++. My content-index team at Microsoft in the 90's never used delete, except in the lowest level libraries. We were the only group working on Cairo that had zero memory leaks.
@fredBed: I don't think you have the option of using C# in OS or driver development. These are exactly the areas where you can't use an interpreted language with garbage collection. Plus there is the performance issue. This is why C++ is called a "systems" language. In the areas where C# (or Java) is a better fit, there is no need to "kill" C++. The programmers have already moved away from it.
@BartoszMilewski: Remember that VC10 can only be implemented to the draft Standard- as it was at least two years ago. What's likely is that that part of the Standard wasn't ready.
I do understand, but then I look at GCC and they have it. Plus, atomics libraries have been available for some time now. Maybe for this period of the adoption of the new standard Microsoft could change its tactics and be more aggressive with releasing new features. And if VS is the blocking factor, releasing a command-line version separately would make sense.
Yes, I was disappointed that concepts didn't make it into the Standard. They would have made templates so much easier to use. I'm happy though that C++11 supports concurrency and has a memory model. I'm glad that Visual Studio incorporated some of the C++11 features, although its support for lambdas is a bit buggy. However I'm very disappointed that Visual Studio doesn't support C++11 concurrency constructs. Wouldn't TPL be easier to implement on top of C++11?
I like working in Visual Studio, but sometimes I have to switch to GCC to do some advanced programming. If there were a version of the MS C++ compiler independent of VS but supporting more C++11 features, I'd definitely use it.