C++0x ร่างสุดท้ายผ่านแล้ว

by lew
27 March 2011 - 18:27

C++ เป็นภาษาที่นับว่าอยู่โลกธุรกิจมาได้อย่างยาวนาน โดยมีการประกาศมาตรฐานของภาษาออกมาเมื่อปี 1998 และได้รับการปรับปรุงในปี 2003 ในมาตรฐาน ISO/IEC 14882 แต่มาตรฐานใหม่ คือ C++0x (อ่านว่า ซี-พลัส-พลัส-โอ-เอ็ก) ก็ได้รับการโหวตเข้าสู่สถานะ Final Draft International Standard (FDIS) ซึ่งเป็นสถานะสุดท้ายก่อนจะประชุมลงมติเพื่อประกาศมาตรฐานแล้ว

ทีมงานคาดว่าจะมีการรายงานปัญหาในตัวมาตรฐานอยู่บ้าง และต้องมีการแก้ไขก่อนการประชุมครั้งต่อไป อย่างไรก็ตามการลงมติเข้าเป็นสถานะ FDIS ได้นั้นก็คาดว่าปัญหาจะน้อยเต็มที และน่าจะประกาศได้ภายในปีนี้จนกลายเป็นมาตรฐาน C++ 2011 ต่อไป

C++0x มีฟีเจอร์ใหม่ๆ มากมายที่จะปรับภาษาให้ทัดเทียมกับภาษารุ่นใหม่ๆ เช่นระบบ extern template ที่ทำให้ไม่ต้องอิมพลีเมนต์ template ทั้งหมดในไฟล์ header, การประกาศ list ได้ในโค้ดโดยตรง, การประกาศ type แบบ auto, การทำลูปแบบ for-in, ฟังก์ชั่น lambda และฟีเจอร์อื่นๆ อีกมากมาย (อ่านเพิ่มเติม Wikipedia)

สถานะในตอนนี้ต้องบอกว่ายังอีกนานพอสมควรกว่าที่เราจะได้ใช้ฟีเจอร์พวกนี้ในวงกว้าง โดยหลังการประกาศต้องรออีกระยะที่คอมไพลเลอร์ต่างๆ จะรองรับฟีเจอร์เหล่านี้ครบถ้วน แต่ใน gcc 4.6 นั้นก็นับว่ารองรับไปเยอะมากแล้ว ยกเว้นส่วนของการทำงานแบบขนาน (concurrency) เท่านั้นที่ยังรองรับจำกัดอยู่มาก

ถ้าใครคิดจะลงวิชา programming language อาจจะต้องระวังอาจารย์หยิบของใหม่มาสอนหลังจากนี้

ที่มา - Herb Sutter, GCC

Blognone Jobs Premium