Herb Sutter vừa là chủ tịch vừa là thành viên tích cực của tổ chức tiêu chuẩn hóa C ++, đồng thời là kiến trúc sư phần mềm trên Visual Studio cho Microsoft.
Ông là một trong những tác giả của mô hình bộ nhớ C ++ mới được chuẩn hóa cho C ++ 0x. Ví dụ, các giấy tờ sau:
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
có tên của mình trên đó. Vì vậy, tôi đoán việc đưa vào Windows C ++ 0x được đảm bảo miễn là H. Sutter vẫn ở lại Microsoft.
Đối với C99 chỉ có một phần trong Visual Studio, tôi đoán đây là một câu hỏi về mức độ ưu tiên.
- Hầu hết các tính năng thú vị của C99 đã có trong C ++ (nội tuyến, khai báo biến ở bất kỳ đâu, // nhận xét, v.v.) và có thể đã sử dụng được trong C trong Visual Studio (Nếu chỉ thực hiện mã C trong trình biên dịch C ++). Xem câu trả lời của tôi ở đây để có một cuộc thảo luận đầy đủ hơn về các tính năng của C99 trong C ++.
- C99 làm tăng sự khác biệt giữa C và C ++ bằng cách thêm các tính năng đã có trong C ++, nhưng theo cách không tương thích (xin lỗi, nhưng việc triển khai phức hợp
boolean trong C99 thật nực cười, tốt nhất là ... Xem http://david.tribble.com/ text / cdiffs.htm để biết thêm thông tin)
- Cộng đồng C trên Windows dường như không tồn tại hoặc không đủ quan trọng để được thừa nhận
- Cộng đồng C ++ trên Windows dường như quá quan trọng nên bị bỏ qua
- .NET là cách mà Microsoft muốn mọi người lập trình trên Windows. Điều này có nghĩa là C #, VB.NET, có lẽ là C ++ / CLI.
Vì vậy, tôi là Microsoft, tại sao tôi lại triển khai các tính năng mà ít người sẽ sử dụng khi các tính năng tương tự đã được cung cấp bằng nhiều ngôn ngữ hoạt động cộng đồng hơn đã được hầu hết mọi người sử dụng?
Phần kết luận?
C ++ 0x sẽ được bao gồm, như là phần mở rộng của VS 2008 hoặc trên thế hệ tiếp theo (thế hệ?) Của Visual Studio.
Các tính năng C99 chưa được triển khai sẽ không có trong những năm tới, trừ khi có điều gì đó kịch tính xảy ra (một quốc gia đầy rẫy các nhà phát triển C99 xuất hiện từ đâu?)
Chỉnh sửa 2011-04-14
Rõ ràng, "quốc gia đầy rẫy những nhà phát triển C99" đã tồn tại: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6415401
^ _ ^
Tuy nhiên, nhận xét cuối cùng tại: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6828778 , tôi đoán là đủ rõ ràng.
Chỉnh sửa 2012-05-03
Herb Sutter đã nói rõ rằng:
- Mục tiêu chính của chúng tôi là hỗ trợ "hầu hết C99 / C11 là tập con của ISO C ++ 98 / C ++ 11."
- Chúng tôi cũng vì lý do lịch sử cung cấp trình biên dịch C90 chấp nhận (chỉ) C90 chứ không phải C ++
- Chúng tôi không có kế hoạch hỗ trợ các tính năng ISO C không thuộc C90 hoặc ISO C ++.
Bài đăng trên blog thêm liên kết và giải thích thêm cho những quyết định đó.
Nguồn: http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/