Herb Sutter es presidente y miembro muy activo del comité de estandarización de C ++, así como arquitecto de software en Visual Studio para Microsoft.
Es uno de los autores del nuevo modelo de memoria C ++ estandarizado para C ++ 0x. Por ejemplo, los siguientes artículos:
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
tiene su nombre en él. Así que supongo que la inclusión en Windows de C ++ 0x está asegurada mientras H. Sutter permanezca en Microsoft.
En cuanto a C99 incluido solo parcialmente en Visual Studio, supongo que esto es una cuestión de prioridades.
- Las características más interesantes de C99 ya están presentes en C ++ (alineación, declaración de variable en cualquier lugar, // comentarios, etc.) y probablemente ya se puedan usar en C en Visual Studio (si solo se hace código C dentro del compilador C ++). Vea mi respuesta aquí para una discusión más completa sobre las características de C99 en C ++.
- C99 aumenta la divergencia entre C y C ++ al agregar características ya existentes en C ++, pero de una manera incompatible (lo siento, pero la implementación del complejo
booleano en C99 es ridícula, en el mejor de los casos ... Ver http://david.tribble.com/ text / cdiffs.htm para obtener más información)
- La comunidad C en Windows parece inexistente o no es lo suficientemente importante como para ser reconocida
- La comunidad C ++ en Windows parece demasiado importante para ser ignorada
- .NET es la forma en que Microsoft quiere que la gente programe en Windows. Esto significa C #, VB.NET, quizás C ++ / CLI.
Entonces, ¿sería Microsoft, por qué implementaría características que pocas personas usarán cuando las mismas características ya se ofrecen en más idiomas activos de la comunidad que ya usa la mayoría de las personas?
¿Conclusión?
Se incluirá C ++ 0x, como extensión de VS 2008, o en la próxima generación (¿generaciones?) De Visual Studio.
Las funciones de C99 que aún no se han implementado no estarán en los próximos años, a menos que suceda algo dramático (¿un país lleno de desarrolladores de C99 aparece de la nada?)
Editar 2011-04-14
Aparentemente, el "país lleno de desarrolladores C99" ya existe: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6415401
^ _ ^
Aún así, el último comentario en: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6828778 es lo suficientemente claro, supongo.
Editar 2012-05-03
Herb Sutter dejó en claro que:
- Nuestro objetivo principal es admitir "la mayor parte de C99 / C11, que es un subconjunto de ISO C ++ 98 / C ++ 11".
- También, por razones históricas, enviamos un compilador C90 que acepta (solo) C90 y no C ++
- No planeamos admitir características ISO C que no formen parte de C90 o ISO C ++.
La publicación del blog agrega enlaces y más explicaciones para esas decisiones.
Fuente: http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/