Херб Саттер является председателем и очень активным членом комитета по стандартизации C ++, а также архитектором программного обеспечения в Visual Studio для Microsoft.
Он является одним из авторов новой модели памяти C ++, стандартизированной для C ++ 0x. Например, следующие документы:
http://www.open -std.org / jtc1 / sc22 / wg21 / docs / documents / 2008 / n2669.htm
http://www.open -std.org / ОТК1 / SC22 / wg21 / документы / документы / 2007 / n2197.pdf
На нем его имя. Поэтому я предполагаю, что включение в Windows C ++ 0x гарантировано, пока Х. Саттер остается в Microsoft.
Что касается C99, только частично включенного в Visual Studio, я думаю, что это вопрос приоритетов.
- Наиболее интересные функции C99 уже присутствуют в C ++ (встраивание, объявление переменных в любом месте, // комментарии и т. Д.) И, вероятно, уже могут использоваться в C в Visual Studio (если только делать код C в компиляторе C ++). Смотрите мой ответ здесь для более полного обсуждения возможностей C99 в C ++.
- C99 увеличивает расхождение между C и C ++, добавляя функции, уже существующие в C ++, но несовместимым способом (извините, но сложная реализация boolean в C99 смешна, в лучшем случае ... Смотрите http://david.tribble.com/text/cdiffs.htm для получения дополнительной информации)
- Сообщество C в Windows кажется несуществующим или недостаточно важным, чтобы его можно было признать
- Сообщество C ++ в Windows кажется слишком важным, чтобы его игнорировать
- .NET - это способ, которым Microsoft хочет, чтобы люди программировали под Windows. Это означает C #, VB.NET, возможно C ++ / CLI.
Итак, буду ли я Майкрософт, зачем мне внедрять функции, которые мало кто когда-либо будет использовать, когда те же функции уже предлагаются на более активных языках сообщества, уже используемых большинством людей?
Заключение
C ++ 0x будет включен, как расширение VS 2008, или в следующем поколении (поколениях?) Visual Studio.
Функции C99, еще не реализованные, не появятся в ближайшие годы, если только не произойдет что-то драматическое (страна, полная разработчиков C99, появляется из ниоткуда?)
Редактировать 2011-04-14
Очевидно, "страна, полная разработчиков C99" уже существует: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6415401
^ _ ^
Тем не менее, последний комментарий по адресу: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6828778 достаточно ясен, я думаю.
Редактировать 2012-05-03
Херб Саттер дал понять, что:
- Наша основная цель - поддерживать «большую часть C99 / C11, которая является подмножеством ISO C ++ 98 / C ++ 11».
- Мы также по историческим причинам поставляем компилятор C90, который принимает (только) C90, а не C ++
- Мы не планируем поддерживать функции ISO C, которые не являются частью C90 или ISO C ++.
В блоге добавляются ссылки и дополнительные пояснения к этим решениям.
Источник: http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/