Feeds

'Major' C++ revision receives standards blessing

Mind your language

Reducing security risks from open source software

Changes to the standard behind of one of the world's most popular programming languages have been approved by standards chiefs.

The next version of C++ has been approved during a unanimous ballot by the International Organization for Standardization (ISO).

Official publication of what will now be called C++11 is expected by the end of the year, according to C++ guru and ISO C++ committee chief Herb Sutter, who announced the news here.

Sutter called the ballot an "important milestone in the history of a great language".

Speaking to The Reg ahead of the ISO ballot earlier this year, Sutter said he reckoned the update represents the biggest change to C++ since the first standard was ratified 13 years ago.

Sutter told us here: "This is the first major rev of the standard with new features since 1998."

C++ was created by Bjarne Stroustrup as a general purpose programming language that was both powerful and simpler to use than C, thanks to the inclusion of object orientation.

C++ is widely used today to differing degrees in Apple's OS X; Microsoft's Windows 7; Google's MapReduce and Chrome; Facebook; MySQL; and Adobe Illustrator – to name just a few.

While C++ was a step forward, the language has remained complex, prompting Sun Microsystems' James Gosling to cook up Java, famously saying that Java was C++ "without the guns, knives and clubs". Stroustrup's creation is so complex that C++ is reputedly responsible for causing more bad language than any other programming language.

C++11 features a plethora of changes to take down frustration levels, including the addition of lambda functions and initialiser lists. Possibly the biggest change, however, is the inclusion of a standardised memory model, something Gosling's Java actually adopted in 2005.

The memory model means that the C++ spec has a standardised library that devs can adhere to, and that apps can call, regardless of who made the compiler and what platform it is running on. Sutter told us this year that the time is now ripe for a standardised memory model in the official spec. The reasoning is the fact that multi-core chips are coming more and more into the computing mainstream, in everything from Dell Pentium servers to the iPad 2. Multi-core requires that different threads in a piece of software talk to processor's memory cores concurrently, adding to the programming complexity.

Sutter has gone on record in the run-up to C++11 as saying C++ must go concurrent as the "free lunch" of single core is over. ®

The Power of One eBook: Top reasons to choose HP BladeSystem

More from The Register

next story
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
Mozilla fixes CRITICAL security holes in Firefox, urges v31 upgrade
Misc memory hazards 'could be exploited' - and guess what, one's a Javascript vuln
Put down that Oracle database patch: It could cost $23,000 per CPU
On-by-default INMEMORY tech a boon for developers ... as long as they can afford it
Google shows off new Chrome OS look
Athena springs full-grown from Chromium project's head
Apple: We'll unleash OS X Yosemite beta on the MASSES on 24 July
Starting today, regular fanbois will be guinea pigs, it tells Reg
HIDDEN packet sniffer spy tech in MILLIONS of iPhones, iPads – expert
Don't panic though – Apple's backdoor is not wide open to all, guru tells us
prev story

Whitepapers

Top three mobile application threats
Prevent sensitive data leakage over insecure channels or stolen mobile devices.
Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
Designing a Defense for Mobile Applications
Learn about the various considerations for defending mobile applications - from the application architecture itself to the myriad testing technologies.
Build a business case: developing custom apps
Learn how to maximize the value of custom applications by accelerating and simplifying their development.