This article is more than 1 year old
Stroustrup and Sutter: C++ to run and run
10 is the new six
Sutter, who warmed up the audience on his keyboard with the Star Wars theme and jazzy renditions of Andrew Lloyd Webber tunes, wondered how many attendees were still using Visual C++ 6. Lots of hands went up. "That's what I thought," he said. "Keep in mind that we're working on version 10 now. We've actually made up shirts saying 10 is the six."
During the Q&A, Sutter was asked about the work at the International Standards Organizations. ISO is the group that establishes the technical standards for C++. One of the biggest misconceptions about the ISO standards committee, Sutter observed, is that it's some kind of design team. "I hear questions all the time about why the committee didn't design this or that," he said. "The committee is a group of individuals and corporate vested interests who want to see certain things in the standard for many reasons. But they don't design anything. That can be done by anyone who wants to propose a feature and do the real work."
The ISO C++ committee is working on the first major revision in years to the C++ standard. The current standard was published in 1998 and updated in 2003. The new standard, which is known as C++0x, is expected to provide several additions to the core language and to extend its standard library. Among other improvements, the improved standard is likely to include advanced concurrency libraries, Sutter said. Concurrency is the ability to execute several computational processes at the same time.
"We're in the middle of doing for concurrency what we did for GUIs and objects," Sutter said. "Right now there's a land rush for bringing out tools and products to enable developers to work in the new paradigm. It's not going to happen overnight. It's going to take a decade or more of getting the concepts into the mainstream; getting people to understand them; and building tools, libraries, and new frameworks."
When asked about the role of C++ in a world swarming with scripting languages, Stroustrup said he saw no conflict. "I grew up on Unix, and I'd never seen a system that didn't consist of some language like C or C++ plus some shell script," he said. "So I always assumed that there would be something like a scripting language in the world, and that the total system would be written in at least two languages. From day one, C++ was designed with that assumption."
"There is no one-size fits all," Sutter added.
Both Stroustrup and Sutter were sanguine about the future of C++.
"There is no successor to C++ yet," Sutter said. "There is no language that is good as doing all of the things that C++ does well. Until that happens we're going to be using C++ as the best tool for certain jobs for quite a while."
Stroustrup added: "I still have code I wrote before it was called C++ that, with some minor tweaks, runs."®