Herb Sutter เป็นทั้งเก้าอี้และสมาชิกที่กระตือรือร้นอย่างมากของ comitee มาตรฐาน C ++ รวมถึงสถาปนิกซอฟต์แวร์ใน Visual Studio for Microsoft
เขาเป็นหนึ่งในผู้เขียนรูปแบบหน่วยความจำ C ++ ใหม่ที่เป็นมาตรฐานสำหรับ C ++ 0x ตัวอย่างเช่นเอกสารต่อไปนี้:
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
มีชื่อของเขาอยู่ ดังนั้นฉันเดาว่าการรวมไว้ใน Windows ของ C ++ 0x จะมั่นใจได้ตราบใดที่ H.Sutter ยังคงอยู่ที่ Microsoft
สำหรับ C99 เพียงบางส่วนที่รวมอยู่ใน Visual Studio ฉันเดาว่านี่เป็นคำถามเกี่ยวกับลำดับความสำคัญ
- คุณลักษณะ C99 ที่น่าสนใจที่สุดมีอยู่แล้วใน C ++ (การแทรกซึมการประกาศตัวแปรที่ใดก็ได้ // ความคิดเห็น ฯลฯ ) และอาจใช้งานได้แล้วใน C ใน Visual Studio (หากทำเฉพาะโค้ด C ภายในคอมไพเลอร์ C ++) ดูคำตอบของฉันที่นี่สำหรับการสนทนาที่สมบูรณ์ยิ่งขึ้นเกี่ยวกับคุณสมบัติ C99 ใน C ++
- C99 เพิ่มความแตกต่างระหว่าง C และ C ++ โดยการเพิ่มคุณสมบัติที่มีอยู่แล้วใน C ++ แต่ใช้งานร่วมกันไม่ได้ (ขออภัย แต่การใช้งาน
บูลีนที่ซับซ้อนใน C99 นั้นน่าหัวเราะอย่างที่สุด ... ดูhttp://david.tribble.com/ ข้อความ / cdiffs.htmสำหรับข้อมูลเพิ่มเติม)
- ชุมชน C บน Windows ดูเหมือนไม่มีอยู่จริงหรือไม่สำคัญพอที่จะรับทราบ
- ชุมชน C ++ บน Windows ดูเหมือนสำคัญเกินกว่าที่จะละเลย
- .NET เป็นวิธีที่ Microsoft ต้องการให้ผู้คนเขียนโปรแกรมบน Windows ซึ่งหมายความว่า C #, VB.NET หรืออาจเป็น C ++ / CLI
ดังนั้นฉันจะเป็น Microsoft ทำไมฉันถึงติดตั้งฟีเจอร์ที่มีคนไม่กี่คนที่เคยใช้เมื่อมีการนำเสนอคุณสมบัติเดียวกันนี้ในภาษาที่ใช้งานในชุมชนมากขึ้นซึ่งคนส่วนใหญ่ใช้อยู่แล้ว
สรุป?
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
Herb Sutter ทำให้ชัดเจนว่า:
- เป้าหมายหลักของเราคือการสนับสนุน "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/