Herb Sutter est à la fois président et membre très actif du comité de normalisation C ++, ainsi qu'architecte logiciel sur Visual Studio pour Microsoft.
Il est parmi les auteurs du nouveau modèle de mémoire C ++ normalisé pour C ++ 0x. Par exemple, les articles suivants:
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
avoir son nom dessus. Donc je suppose que l'inclusion sur Windows de C ++ 0x est assurée tant que H. Sutter reste chez Microsoft.
Quant à C99 partiellement inclus dans Visual Studio, je suppose que c'est une question de priorités.
- Les fonctionnalités C99 les plus intéressantes sont déjà présentes en C ++ (inlining, déclaration de variable n'importe où, // commentaires, etc.) et probablement déjà utilisables en C dans Visual Studio (si seulement faire du code C dans le compilateur C ++). Voir ma réponse ici pour une discussion plus complète sur les fonctionnalités C99 en C ++.
- C99 augmente la divergence entre C et C ++ en ajoutant des fonctionnalités déjà existantes en C ++, mais de manière incompatible (désolé, mais l' implémentation complexe
booléenne en C99 est risible, au mieux ... Voir http://david.tribble.com/ text / cdiffs.htm pour plus d'informations)
- La communauté C sous Windows semble inexistante ou pas assez importante pour être reconnue
- La communauté C ++ sous Windows semble trop importante pour être ignorée
- .NET est la façon dont Microsoft veut que les gens programment sur Windows. Cela signifie C #, VB.NET, peut-être C ++ / CLI.
Alors, serais-je Microsoft, pourquoi implémenterais-je des fonctionnalités que peu de gens utiliseront jamais alors que les mêmes fonctionnalités sont déjà proposées dans des langues plus actives dans la communauté déjà utilisées par la plupart des gens?
Conclusion?
C ++ 0x sera inclus, comme extension de VS 2008, ou sur la prochaine génération (générations?) De Visual Studio.
Les fonctionnalités du C99 non déjà implémentées ne le seront pas dans les prochaines années, à moins que quelque chose de dramatique ne se produise (un pays plein de développeurs C99 apparaît de nulle part?)
Modifier 2011-04-14
Apparemment, le "pays plein de développeurs C99" existe déjà: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6415401
^ _ ^
Pourtant, le dernier commentaire sur: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6828778 est assez clair, je suppose.
Modifier 03/05/2012
Herb Sutter a précisé que:
- Notre objectif principal est de prendre en charge «la plupart des C99 / C11 qui sont un sous-ensemble d'ISO C ++ 98 / C ++ 11».
- Pour des raisons historiques, nous livrons également un compilateur C90 qui accepte (uniquement) C90 et non C ++
- Nous ne prévoyons pas de prendre en charge les fonctionnalités ISO C qui ne font pas partie de C90 ou ISO C ++.
Le billet de blog ajoute des liens et des explications supplémentaires sur ces décisions.
Source: http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/