Paul Krill
Editor at Large

Stroustrup highlights next C++ goals: Parallelism, concurrency

news analysis
Oct 29, 20142 mins

Language founder Bjarne Stroustrup gives early indicators of what to expect in C++17

programming languages C++ Java PHP .Net Python JavaScript
Credit: Thinkstock

Although it is very early in the process, higher-level parallelism is slated to be a key theme of the next version of C++, says Bjarne Stroustrup, the founder of the language.

Interviewed recently, Stroustrup says the 35-year-old language has to exploit new hardware, including transactional memory capabilities promoted by IBM and Intel. To take advantage of these features, C++17 will need to handle parallelism and concurrency. In addition it will have to deal with multicore processors and vector parallelism, as well as accommodate parallel algorithms, transactional memory, and task parallelism and SIMD (single instruction, multiple data) vectors, he says. “C++ as a systems language has to be able to do that well.”

Parallelism is too hard for developers now, Stroustrup says, and the use of threads and locks in dealing with parallelism can be error-prone. “We have to get to the next level of abstraction and that’s where we’re going.”

Currently, C++ has object-oriented and functional call syntaxes. “It’s a bit confusing,” and the syntaxes don’t have exactly the same meaning, Stroustrup says. “My idea is to unify them.” A unified call syntax is particularly important for writing generic code, he says.

“We hope that C++17 will be a major new version, like C++11, rather than a minor version, like C++14,” Stroustrup said. “Major versions change the way people think.” But he cautioned that some features proposed so far probably would not make it into the release.

Other major proposals for C++17 include faster compilation (championed mostly by Apple, Google, and Microsoft), contracts, and better type-checking. A meeting about the future of C++ is to be held by the standards committee at the University of Illinois, Urbana-Champagne, next week, Stroustrup says.

A draft of C++14 was approved in August, bringing minor but numerous changes and expanding on the previous version of the language, C++11. That version focused on capabilities such as lambdas. C++17 could arrive in 2017.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author