Herb Sutter is both the chair and a very active member of C++ standardisation comitee, as well as software architect on Visual Studio for Microsoft.
He is among the author of the new C++ memory model standardised for C++0x. For example, the following papers:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2669.htm
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2197.pdf
have his name on it. So I guess the inclusion on Windows of C++0x is assured as long as H. Sutter remains at Microsoft.
As for C99 only partly included in Visual Studio, I guess this is a question of priorities.
- Most interesting C99 features are already present in C++ (inlining, variable declaration anywhere, // comments, etc.) and probably already usable in C in Visual Studio (If only doing C code within the C++ compiler). See my answer here for a more complete discussion about C99 features in C++.
- C99 increases the divergence between C and C++ by adding features already existing in C++, but in an incompatible way (sorry, but the
boolean complex implementation in C99 is laughable, at best... See http://david.tribble.com/text/cdiffs.htm for more information)
- The C community on Windows seems non-existent or not important enough to be acknowledged
- The C++ community on Windows seems too important to be ignored
- .NET is the way Microsoft wants people to program on Windows. This means C#, VB.NET, perhaps C++/CLI.
So, would I be Microsoft, why would I implement features few people will ever use when the same features are already offered in more community active languages already used by most people?
Conclusion?
C++0x will be included, as extention of VS 2008, or on the next generation (generations?) of Visual Studio.
The C99 features not already implemented won't be in the next years, unless something dramatic happens (a country full of C99 developers appears out of nowhere?)
Edit 2011-04-14
Apparently, the "country full of C99 developers" already exist: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6415401
^_^
Still, the last comment at: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6828778 is clear enough, I guess.
Edit 2012-05-03
Herb Sutter made it clear that:
- Our primary goal is to support "most of C99/C11 that is a subset of ISO C++98/C++11."
- We also for historical reasons ship a C90 compiler which accepts (only) C90 and not C++
- We do not plan to support ISO C features that are not part of either C90 or ISO C++.
The blog post add links and further explanations for those decisions.
Source: http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/