Microsoft's New Compiler Increases C++11 Compliance
On Friday Microsoft's Herb Sutter made a big announcement regarding the company's support for C++11 and the C++ community as a whole. When the company released VS2012, it was promised that its architecture was designed to support out-of-band releases bringing new features to the market quicker. However, Sutter's announcement marked the public unveiling of the November 2012 CTP which contains a new compiler that improves Visual C++'s support for the full C++11 standard. While not complete, it indicates the company is moving forwards.
This is important because in Sutter's opinion there is only one team that every other team depends on at Microsoft-- "every team (transitively) depends on Visual C++". That said, here are the new features available in this preview:
- Explicit Conversion Operators
- Raw String Literals
- Function Template Default Arguments
- Delegating Constructors
- Uniform Initialization and initializer_lists (Vector initialization syntax not yet in CTP)
- Variadic Templates
Sutter was quick to point out that this is compiler only release, and it is a preview-- it should not be used with production code. (This preview is supported for use with VS2012 Express for Desktop.)
The CTP, formally titled "Visual C++ Compiler November 2012 CTP", is available from Microsoft now. Microsoft's Stephan T. Lavavej has released a new tour on Channel 9 that provides an overview of these new features.
Sutter remarks that Microsoft will continue to deliver out-of-band updates to VS2012, and that more C++11 updates will be forthcoming in the first half of 2013.
Up-Tempo ISO C++ Release Schedule
The CTP isn't the only announcement-- Microsoft, Google, IBM, Intel, and several other companies and organizations have united to form the Standard C++ Foundation in an effort to promote, guide, and develop the C++ language. The founding directors of this organization are Herb Sutter, Bjarne Stroustrup, Chandler Carruth (Google), Beman Dawes (Boost), Michael Wong (IBM), and Stefanus Du Toit (Intel).
Sutter discussed that a new major C++ standard, C++17, has been scheduled for release in 2017. C++ will see a minor release scheduled for deployment in 2014. This represents a significant speed-up from prior release cadences (C++ 98, C++03, and C++11).
To broaden exposure and promote news about new C++ information, Sutter also announced isocpp.org, which he described as "a home base for C++'s Rebel Alliance model". This site is intended to provide transparent and open communication about the standardization process as well as the latest useful information to those interested in modern C++ development.