If you missed it, you can now download or stream (whichever you prefer) the sessions from the Going Native 2012 conference. I watched the whole thing and it was fascinating. If you’re new to C++, then some of the sessions are likely to be at a higher level than you may be ready for (though you can certainly watch them if you like). But there are some sessions I think any C++ developer would profit from watching. These are they:
Bjarne Stroustrup - C++11 Style
Stephan T. Lavavej - STL11 – Magic && Secrets
Panel - The Importance of Being Native
Herb Sutter - C++11, VC++11 and Beyond
Chandler Carruth - Clang - Defending C++ from Murphy's Million Monkeys
Panel- Ask Us Anything!
If you are planning to do any multi-threading, then I’d definitely recommend watching Hans Boehm - Threads and Shared Variables in C++11 . For Metro style development, I’d generally recommend using the Parallel Patterns Library (PPL) and the Concurrent Runtime (ConcRT) as they mesh nicely with WinRT’s asynchrony.
Andrei Alexandrescu is a great speaker and his sessions are really entertaining and informative. But it’s likely to be a little while before variadic templates appear in VC++11 (post-RTM but likely in an out-of-band release rather than waiting for VS11 SP1) and they are a pretty tricky topic and the concept of “static if” is a proposal for a future version of the C++ language (but an interesting one and so I’d definitely say go watch it if you have time). They are interesting sessions but not really things for beginners.
Bjarne Stroustrup and Andrew Sutton’s session entitled “A Concept Design for C++” is also interesting but is something that’s still in the research phase of development. It had been proposed for C++11 but was dropped because (as I understand it) they didn’t feel that it was ready to be included in the standard just yet. (This is an area where I personally think C++ could take a lesson from C#. I think C++ would benefit a lot from a purely abstract type (something similar to if not the same as C#’s interface type) with its own keyword designating it as such (thereby adding developer-friendly guarantees that the type was abstract and thus removing the need to use multiple class inheritance for such reasons). This in turn would open the door to a mechanism for templates that would be similar to C#’s constraint system for C# generics. Maybe there are good reasons not to do this; I’m not a language designer. But from an outsider’s perspective, I think C# got this one right.)