August 16, 2011, 8:09 PM — With the recently approved upgrade to the C++ language, the ISO (International Organization for Standards) is enabling developers to leverage capabilities for parallel algorithms and higher performance, the chair of the committee responsible for the language said on Tuesday.
C++11 is the first major new version of ISO C++, said Herb Sutter, chair of the ISO C++ standards committee. Featured in C++11 are lambda functions, which serve as a key enabler of emerging parallel algorithms and revolutionize the use of the existing Standard Template Library, said Sutter, who also is principal architect for native languages at Microsoft. "What's already there in the C++98 standard library will immediately become even easier to use," he said. Move semantics in C++11, meanwhile, lead to higher performance. Concurrency features include types for portable, lock-free programming.
[ A draft of the standard was approved earlier this year | Keep up with developer news with InfoWorld's Developer World newsletter. ]
The final ballot for the C++ standard finished closed last Wednesday and was unanimously approved, Sutter said in his blog. C++11 has been referred to as C++0x and is to be published in a few weeks. The language, he said, is used for "just about everything - the world is built on C++." C++, including its C subset, is used to build the compilers and runtimes for virtually all competing languages, all major Web browsers, all major operating systems, Sutter said. It also is the main language used in Google and Facebook and the main language for nearly all Microsoft products, he said. "C++ is the language of choice for demanding applications in almost every application domain," said Sutter.
C++ is a general purpose language, said C++ developer Henry Skoglund. "Most of the things that are new in this standard, I'd say, are important for systems development and compiler [development]," he said. Lamdba capabilities, said Skoglund, allow developers to "write more bug-free, less-verbose code."