Herb Sutter jest przewodniczącym i bardzo aktywnym członkiem komitetu normalizacyjnego C ++, a także architektem oprogramowania w Visual Studio for Microsoft.
Jest jednym z autorów nowego modelu pamięci C ++ znormalizowanego dla C ++ 0x. Na przykład następujące dokumenty:
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
mieć na nim jego nazwisko. Wydaje mi się, że włączenie C ++ 0x w systemie Windows jest zapewnione, o ile H. Sutter pozostaje w firmie Microsoft.
Jeśli chodzi o C99 tylko częściowo zawarty w Visual Studio, myślę, że jest to kwestia priorytetów.
- Najciekawsze funkcje C99 są już obecne w C ++ (wstawianie, deklarowanie zmiennych w dowolnym miejscu, // komentarze itp.) I prawdopodobnie już można je używać w C w programie Visual Studio (jeśli tylko wykonujemy kod C w kompilatorze C ++). Zobacz moją odpowiedź tutaj, aby uzyskać bardziej szczegółową dyskusję na temat funkcji C99 w C ++.
- C99 zwiększa rozbieżność między C i C ++, dodając funkcje już istniejące w C ++, ale w niekompatybilny sposób (przepraszam, ale skomplikowana implementacja
logiczna w C99 jest śmieszna, w najlepszym razie ... Zobacz http://david.tribble.com/ text / cdiffs.htm, aby uzyskać więcej informacji)
- Wydaje się, że społeczność C w systemie Windows nie istnieje lub nie jest na tyle ważna, aby ją docenić
- Społeczność C ++ w systemie Windows wydaje się zbyt ważna, aby ją ignorować
- .NET to sposób, w jaki Microsoft chce, aby ludzie programowali w systemie Windows. Oznacza to C #, VB.NET, być może C ++ / CLI.
Czy byłbym więc firmą Microsoft, dlaczego miałbym wdrażać funkcje, których niewielu ludzi kiedykolwiek używa, skoro te same funkcje są już oferowane w bardziej aktywnych dla społeczności językach, które są już używane przez większość ludzi?
Wniosek?
C ++ 0x zostanie dołączony jako rozszerzenie VS 2008 lub następnej generacji (generacji?) Visual Studio.
Funkcje C99, które nie zostały jeszcze zaimplementowane, nie będą dostępne w kolejnych latach, chyba że wydarzy się coś dramatycznego (kraj pełen programistów C99 pojawia się znikąd?)
Edytuj 2011-04-14
Najwyraźniej „kraj pełen programistów C99” już istnieje: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6415401
^ _ ^
Mimo to ostatni komentarz pod adresem : http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6828778 jest, jak sądzę, wystarczająco jasny.
Edytuj 2012-05-03
Herb Sutter wyjaśnił, że:
- Naszym głównym celem jest obsługa „większości C99 / C11, czyli podzbioru ISO C ++ 98 / C ++ 11”.
- Również ze względów historycznych dostarczamy kompilator C90, który akceptuje (tylko) C90, a nie C ++
- Nie planujemy obsługi funkcji ISO C, które nie są częścią C90 ani ISO C ++.
Wpis na blogu zawiera linki i dalsze wyjaśnienia dotyczące tych decyzji.
Źródło: http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/