At BUILD in Redmond today, Microsoft announced its plans to improve C++ standards conformance in its Visual Studio development environment, and talked about ways in which C++ would become a better, regularly updated, modern programming language. Microsoft developer and C++ standard committee chair Herb Sutter introduced work being done by the C++ community to make the language better, and also discussed the work being done by Microsoft to make its own compiler better.

C++, the systems programming language, is one of the most important programming languages in the world. It's used to build important system infrastructure (operating system kernels tend still to be C, but the systems built on those kernels are often C++), and one of the first choices for development of fast, efficient software.

It's also emerging from a dark period in its history. The first version of the standard was delivered in 1998. The next didn't get finished until early 2011, after a painful and drawn-out process that saw the committee going down blind alleys and suffering political infighting. C++ has also suffered from being more than a little uncool; safe environments like Java, .NET, Python, Ruby, Node.js and more have all won considerable mindshare, and have become the go-to tools for a large class of applications, taking advantage of C++'s 13-year failure to add necessary, modern features in a timely manner.

But C++'s future is looking a lot brighter. Standards will be updated sooner, with the next major release scheduled for 2017, and a minor release in 2014. The C++ working group has created a number of subgroups to work on subjects as diverse as concurrency, file system access, and networking, and these groups will develop specifications of their own, alongside the standards, to extend the versatility of standard C++.

Microsoft, Intel, Google, IBM, and a number of other companies have also created an independent body, the Standard C++ Foundation, to promote and advocate the usage and development of modern C++.

For its part, Microsoft is taking steps to enhance the standards conformance of Visual Studio 2012. Today the company released a preview version of the C++ compiler that adds support for a range of features included in the 2011 C++ standard, including variadic templates and initializer lists.

This first preview updates only the compiler; libraries and the Visual Studio IDE itself aren't changed. By the time the compiler is finished, however, the whole lot will be updated. The company hasn't said exactly when the final versions (with IDE and library support) will be out, but implies it should be relatively soon: Redmond promised even more conformance improvements will be delivered in the first half of 2013.