z*******n 发帖数: 1034 | 1 Language founder Bjarne Stroustrup gives early indicators of what to expect
in C++17
Oct 29, 2014
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. |
|