The Channel

Stroustrup and Sutter: C++ to run and run

10 is the new six

SD West 2008 For the second year in a row organizers at the Software Development Conference & Expo West felt the super sessions hosted by C++ legends Bjarne Stroustrup and Herb Sutter were worth some ink on the event agenda.

"There was a time in the late 1990s and early 2000s when they simply stopped advertising C++ sessions at this conference," Sutter told attendees. "And yet they found a curious thing: every year for four years, C++ was the strongest track at the show. With zero advertising! That says something about the market. That says that there are problems that C++ is solving."

The duo offered the C++ crowd day-long sessions at SD West. In fact, a session presented last year (Concepts and generic programming in C++0x") was back by popular demand, alongside an additional day of new material covering the design and evolution of the grandpappy of object-oriented programming languages.

Sutter is the author of several books on software development, a lead architect at Microsoft, chair of the ISO C++ standards committee, and coiner of the phrase "concurrency revolution." Stroustrup is also an author, a professor of computer science at the Texas A&M University's college of engineering, and a research fellow at AT&T Labs.

Of course, the Danish computer scientist is best known as the creator and original implementer of C++.

Stroustrup doesn't like to hear his brainchild referred to as an object-oriented programming (OOP) language, though he allowed that its main contribution was to make OOP mainstream. "Before C++, 99.9 per cent of programmers never even heard of it OOP," he said during a post-session Q&A. "Those who'd heard of it believed that it was only for slow graphics written by geniuses."

Still, he'd rather we call it a "multi-paradigm programming language."

"We were trying to do something that hadn't been done when we started," he said. "We wanted this language to be useful in the hands of average programmers, and the writing of new concepts to be possible by fairly ordinary good programmers. We thought you shouldn't have to be a genius to use it."

Stroustrup combined features of C with features of Simula to create a general-purpose programming language that supports data abstraction and object-orientation. In 1984 he named it C++.

The language has since been used to build some "interesting things," Stroustrup pointed out, including systems on the Mars Rovers, tools for the Human Genome project, the Google search engine, and the software systems running most of the world's windmills.

C++ is non-proprietary and supported on more platforms than any other language but C, Stroustrup observed. "If you don't want to be owned by your vendor," he said. "Write your code with C++."

How many C++ programmers are actually doing that these days? Between 1980 and 1991, the number of C++ coders doubled every seven and a half months, Stroustrup estimated. That growth rate was unsustainable, he said. Extrapolating from compiler sales, book sales, workloads of consultants, and other statistics, he estimates that the number is now growing at about five to ten per cent per year. Analysts at IDS estimate that in 2004 there were approximately six million programmers coding with C++.

Sponsored: Magic quadrant for enterprise mobility management suites