Herb Sutter é o presidente e um membro muito ativo do comitê de padronização C ++, bem como arquiteto de software no Visual Studio for Microsoft.
Ele está entre os autores do novo modelo de memória C ++ padronizado para C ++ 0x. Por exemplo, os seguintes papéis:
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
tem seu nome nele. Portanto, acho que a inclusão de C ++ 0x no Windows está garantida enquanto H. Sutter permanecer na Microsoft.
Quanto ao C99 apenas parcialmente incluído no Visual Studio, acho que é uma questão de prioridades.
- Os recursos mais interessantes do C99 já estão presentes no C ++ (inlining, declaração de variável em qualquer lugar, // comentários, etc.) e provavelmente já podem ser usados em C no Visual Studio (se apenas estiver fazendo código C no compilador C ++). Veja minha resposta aqui para uma discussão mais completa sobre os recursos do C99 em C ++.
- C99 aumenta a divergência entre C e C ++ ao adicionar recursos já existentes em C ++, mas de forma incompatível (desculpe, mas a implementação do complexo
booleano em C99 é risível, na melhor das hipóteses ... Veja http://david.tribble.com/ text / cdiffs.htm para mais informações)
- A comunidade C no Windows parece inexistente ou não é importante o suficiente para ser reconhecida
- A comunidade C ++ no Windows parece muito importante para ser ignorada
- .NET é a forma como a Microsoft deseja que as pessoas programem no Windows. Isso significa C #, VB.NET, talvez C ++ / CLI.
Então, eu seria a Microsoft, por que implementaria recursos que poucas pessoas usarão quando os mesmos recursos já são oferecidos em mais idiomas ativos da comunidade já usados pela maioria das pessoas?
Conclusão?
C ++ 0x será incluído, como extensão do VS 2008, ou na próxima geração (gerações?) Do Visual Studio.
Os recursos do C99 ainda não implementados não estarão nos próximos anos, a menos que algo dramático aconteça (um país cheio de desenvolvedores do C99 aparece do nada?)
Editar 14/04/2011
Aparentemente, o "país cheio de desenvolvedores C99" já existe: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6415401
^ _ ^
Ainda assim, o último comentário em: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6828778 é claro o suficiente, eu acho.
Editar 03/05/2012
Herb Sutter deixou claro que:
- Nosso objetivo principal é oferecer suporte à "maior parte do C99 / C11 que é um subconjunto do ISO C ++ 98 / C ++ 11".
- Também, por razões históricas, enviamos um compilador C90 que aceita (apenas) C90 e não C ++
- Não planejamos oferecer suporte a recursos ISO C que não façam parte do C90 ou do ISO C ++.
A postagem do blog adiciona links e mais explicações para essas decisões.
Fonte: http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/