The Register® — Biting the hand that feeds IT

Feeds

'Major' C++ revision receives standards blessing

Mind your language

Agentless Backup is Not a Myth

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. ®

Regcast training : Hyper-V 3.0, VM high availability and disaster recovery

OS X?

OS X programming is usually done using Objective-C, which was an early rival to C++.

As for Stroustrup's contention that C++ was "simpler" than C because it included support for object orientation: I can only assume he was heavily intoxicated at the time.

12
2

I respectly

disagree. C is a breeze compared to 'modern' alternatives like Java, C# and C++.

But don't worry it's just me.

4
0

You are so right, we should use C for everything

Or maybe assembler?

Look, if you don't use C++, and decided in the early 90s that you would never want to use C++, why comment on the evolution of a language that you have already prejudged?

It's just like the Android fanboy who reads a story about a new iphone, and immediately posts the first comment "zzz, who cares".

Personally, I almost had to go have a 5 finger shuffle when I read that we would now have an 'auto' type, for which the compiler will work out the appropriate type, or a simpler way to iterate through STL collections, or many many of the other fantastic things that C++0x will have available. In fact....

fapfapfap

4
0

More from The Register

Bjarne Again: Hallelujah for C++
Plus: Now officially OK to admit you never used STL algorithms
Interwebs taunt Sir Jony over Apple eye candy makeover
Hey Ive, Ive... add more unicorns, willya?
SCO vs. IBM battle resumes over ownership of Unix
Zombie lawsuit back and wants to suck the brains out of Linux
Apple: iOS7 dayglo Barbie makeover is UNFINISHED - report
Plus: You don't like the icons? Blame marketing
Red Hat to ditch MySQL for MariaDB in RHEL 7
So long, Oracle! Don't let the door hit you on the way out
Shy? Socially inadequate? Fiddling with your phone could help
App 'tells the brutal truth' about social inadequates' chatup lines
Java EE 7 melds HTML5 with enterprise apps
New release arrives with GlassFish, NetBeans support
 breaking news
'Office Facebook' firm Tibbr wants you to PAY for mobe-meetings app
Great idea. Punters won't cough for it though
 breaking news
The only Waze is Google: Ad giant tipped to gobble map app 'for $1.3bn'
Pac-Man-satnav-ish upstart in bidding war with Apple, Facebook
 breaking news
PM Cameron calls for modern, programmable computers! (We think)
IT education musings to G8 chiefs to mystify IT industry