• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

C++ 11 / 0x unanimously approved ISO standard!

Status
Not open for further replies.

Man

Member
The last standard was published in 1998 with an update in 2003.
The final ISO ballot on C++0x closed on Wednesday, and we just received the results: Unanimous approval.

The next revision of C++ that we’ve been calling “C++0x” is now an International Standard! Geneva will take several months to publish it, but we hope it will be published well within the year, and then we’ll be able to call it “C++11.”
http://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/

Wikipedia C++ 11 / 0x said:
C++0x (pronounced "see plus plus oh ex")[1] is the unofficial name of the new standard for the C++ programming language (originally, finalization was expected in 2008 or 2009, but the "0x" was retained).[2] C++0x is intended to replace the existing C++ standard, ISO/IEC 14882, which was published in 1998 and updated in 2003. These predecessors are informally but commonly known as C++98 and C++03. The new standard will include several additions to the core language and will extend the C++ standard library, incorporating most of the C++ Technical Report 1 (TR1) libraries — with the exception of the library of mathematical special functions.[3] Since the standard is not yet finalized, this article may not reflect the most recent state of C++0x. The first working draft international standard was published in August 2010 (N3126), with the last working draft being (N3291]) dated 5 April 2011. This draft is not publicly available; the most recent working draft available is (N3242) dated 28 February 2011.
In their March 2011 meeting, the ISO/IEC JTC1/SC22/WG21 C++ Standards Committee voted C++0x to Final Draft International Standard (FDIS) status.[4] This means that this final draft, dated 11 April 2011, is ready for review and approval by the ISO; the final specification is expected to be published sometime in mid-2011...

...One function of the C++ committee is the development of the language core. The presentation date of C++0x depends on the progress of this part of the standard.
Areas of the core language that will be significantly improved include multithreading support, generic programming support, uniform initialization, and performance enhancements.

Wikipedia C++ said:
C++ (pronounced "see plus plus") is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features.[2] It was developed by Bjarne Stroustrup starting in 1979 at Bell Labs as an enhancement to the C language. Originally named C with Classes, the language was later renamed C++ in 1983.[3]

Image2.jpg

Bjarne Stroutstrup, inventor of C++
 
Ah, "0x" is not a reference to hex, it's just that they expected to get it out the door last decade.

I saw a talk by Bjarne several years ago (and somewhere have a picture of me with him), and it seemed like the new standard was almost ready. I guess that wasn't quite the case.
 
Man said:
...
Image2.jpg

Bjarne Stroutstrup, inventor of C++

Like a BAUSS

Now if we could only have an excellent introduction to the new features in the vein of Accelerated C++. I e-mailed one of the authors a few weeks ago, and he shared that a new edition will be written at some point.
 
Man said:
A book focusing on C++ 0x concurrency releasing in September:

http://images.borders.com.au/images/bau/97819339/9781933988771/0/0/plain/c-concurrency-in-action.jpg[IMG]

[URL]http://www.amazon.co.uk/dp/1933988770/[/URL][/QUOTE]
Nice, I'll have to check it out.
 
my twitter feed which consists mainly of DICE programmers has some venous comments and retweets about this.
 
wwm0nkey said:
Ok for someone who does not know shit about coding, what does this all mean in the long run?

It means that the C++ programming language is alive and well, and that it continues to adapt to the needs of modern programmers.
 
I understand why people mock C++, it is an ugly ugly hacked-together language. But it is also insanely useful. Upgrades like this can only make it moreso!
 
Lasthope106 said:
It means that the C++ programming language is alive and well, and that it continues to adapt to the needs of modern programmers.

If by "modern" you mean features other programming languages have had for over a decade. There's so little point in using a language like C anymore.
 
Somnid said:
If by "modern" you mean features other programming languages have had for over a decade. There's so little point in using a language like C anymore.
I agree, but it's still the lingua franca of nearly all operating systems.

Plus, science and graphics programming.
 
Utako said:
I agree, but it's still the lingua franca of nearly all operating systems.

Plus, science and graphics programming.

That's if you are even working on the OS level which most people aren't or shouldn't. But even then, Windows developers should be using C#, period , All iOS is done in Objective C and OSX is moving toward Objective C, Android is Java and that just leaves vanilla Linux and some embedded systems that actually use C as the preferred language.

edit: Actually graphics can be done just as well with C#. Scientific is still the realm of C++ because it's using linux clusters and needs special optimization beyond what JIT provides but that's really all I can think of.
 
Somnid said:
If by "modern" you mean features other programming languages have had for over a decade. There's so little point in using a language like C anymore.

As long as C variants remain the best option for programmers who actually want to maintain some modicum of control over the systems they're working on, there will always be a point to using it.
 
Somnid said:
If by "modern" you mean features other programming languages have had for over a decade. There's so little point in using a language like C anymore.
Looks like we gotta shutdown all the R&D departments at places like Pixar, Weta, and ILM then since C++ is so prevalent there. Thanks for the enlightenment!
 
Somnid said:
That's if you are even working on the OS level which most people aren't or shouldn't. But even then, Windows developers should be using C#, period , All iOS is done in Objective C and OSX is moving toward Objective C, Android is Java and that just leaves vanilla Linux and some embedded systems that actually use C as the preferred language.

edit: Actually graphics can be done just as well with C#. Scientific is still the realm of C++ because it's using linux clusters and needs special optimization beyond what JIT provides but that's really all I can think of.

Amazing that someone could overlook one of the more obvious places where C/C++ makes sense on a messageboard dedicated to talking about VIDEO GAMES...
 
Argyle said:
Amazing that someone could overlook one of the more obvious places where C/C++ makes sense on a messageboard dedicated to talking about VIDEO GAMES...

Or the fact that more than a few iOS developers just use Objective-C as a wrapper and write everything meaningful in C++ anyway.
 
i see why c and c++ are still used but as a programmer i really dislike having to program in them now.

pypy can almost run python as fast as C now, which is insane. unfortunately it doesn't support all the python libraries yet, and in some ways python isn't so great for big projects.

i wish ocaml and haskell were more popular :( with better library support they would be awesome (although haskell is getting there)
 
So what does it actually mean to update the standard? Obviously current compilers can't just magically compile these new features, so I assume it's just updating the standard for what C++ should support, and having anyone who cares update whatever compiler?
 
butzopower said:
So what does it actually mean to update the standard? Obviously current compilers can't just magically compile these new features, so I assume it's just updating the standard for what C++ should support, and having anyone who cares update whatever compiler?

i think its creating a new standard, so C++ will continue to exist, and compilers will be updated to support C++11. just like C and C++.
 
For the love of god, finally!

Lasthope106 said:
It means that the C++ programming language is alive and well, and that it continues to adapt to the needs of modern programmers.
I'm a C++ programmer but I wouldn't be able to say that with a straight face. The language is full of anachronisms.
 
C/C++ is still useful because you can link to it from the more modern languages if you ever need that bit of performance boost. JNI, NaCl, Android NDK, etc. are all heavily used in any kind of graphics/game programming from what I understand.
 
ghostofsparta said:
So c++ had problems? I was under the impression that it was one of the best/most used languages out there. Shows how much I know.
Still as popular as ever in gaming. More comfortable languages has sneaked in for desktop software etc these last ten years as you don't need every last drop of performance.
 
Man said:
Still as popular as ever in gaming. More comfortable languages has sneaked in for desktop software etc these last ten years as you don't need every last drop of performance.
C++ (and by extension C) still feel like the "base" language to me. Several levels of abstraction above assembly obviously, but if you know C++ picking up other languages tends to come easily.
 
Somnid said:
If by "modern" you mean features other programming languages have had for over a decade. There's so little point in using a language like C anymore.

Does Java support kernel mode yet?


Dimmuxx said:
Great! I hope it will be more like C. :P

What? You can still not use classes in C++ if you choose to, but implementing equivalent code in C isn't pretty.
 
Somnid said:
That's if you are even working on the OS level which most people aren't or shouldn't. But even then, Windows developers should be using C#, period , All iOS is done in Objective C and OSX is moving toward Objective C, Android is Java and that just leaves vanilla Linux and some embedded systems that actually use C as the preferred language.

edit: Actually graphics can be done just as well with C#. Scientific is still the realm of C++ because it's using linux clusters and needs special optimization beyond what JIT provides but that's really all I can think of.

I agree with this mostly.

I think C++-esque languages still have their place, but C++ is just not the right way. The problem is that it's 30 years old and it still has to support all the shit that's been written during that time. A group of proper language designers need to get together and build a modern version of C++ that shirks backwards comparability. Take out all the shitty mistakes they made while learning how to design a language.

At this point they're just modifying a Model T to try to make it competitive with a Lexus.
 
mike23 said:
I agree with this mostly.

I think C++-esque languages still have their place, but C++ is just not the right way. The problem is that it's 30 years old and it still has to support all the shit that's been written during that time. A group of proper language designers need to get together and build a modern version of C++ that shirks backwards comparability. Take out all the shitty mistakes they made while learning how to design a language.

At this point they're just modifying a Model T to try to make it competitive with the Focus.

For one thing they should get rid of relative data types with stupid names like long and double and make it explicit how many bits something is and whether it's integer or floating and if the hardware can't support it then user error.
 
mike23 said:
I agree with this mostly.

I think C++-esque languages still have their place, but C++ is just not the right way. The problem is that it's 30 years old and it still has to support all the shit that's been written during that time. A group of proper language designers need to get together and build a modern version of C++ that shirks backwards comparability. Take out all the shitty mistakes they made while learning how to design a language.

At this point they're just modifying a Model T to try to make it competitive with a Lexus.
I don't know a whole lot about programming, so I'm curious to hear examples of what you mean.
 
Lionheart1337 said:
What are the larger differences between 0x and the 2003 vers

Multithreading is the biggest one from my understanding, but I haven't looked into it too much. The OP goes over the rest.

ghostofsparta said:
So c++ had problems? I was under the impression that it was one of the best/most used languages out there. Shows how much I know.

It's widely used but still at its core 30-40 years old (counting the C syntax here.)

It's popular because later languages abstract most of the memory management for safety and sanity reasons, but there will always be cases where that last bit of optimization is required.
 
mike23 said:
I agree with this mostly.

I think C++-esque languages still have their place, but C++ is just not the right way. The problem is that it's 30 years old and it still has to support all the shit that's been written during that time. A group of proper language designers need to get together and build a modern version of C++ that shirks backwards comparability. Take out all the shitty mistakes they made while learning how to design a language.

At this point they're just modifying a Model T to try to make it competitive with a Lexus.

If someone creates a language that possesses C++'s power and widespread library support along with all the neat design philosophies of modern languages, then I'll be all aboard. That doesn't exist however, so for now, C++ it is.
 
jman2050 said:
Or the fact that more than a few iOS developers just use Objective-C as a wrapper and write everything meaningful in C++ anyway.
Do they also flog themselves? Can't imagine ignoring a beautiful language like Obj-C for C. (I generally write Linux kernel stuff at work, but am currently on tour helping write Javascript/web shit).
 
jman2050 said:
If someone creates a language that possesses C++'s power and widespread library support along with all the neat design philosophies of modern languages, then I'll be all aboard. That doesn't exist however, so for now, C++ it is.
Naughty Dog created their own programming language they used for the whole Jak & Daxter series on PS2:
Game Oriented Assembly LISP @ Wikipedia

Doytch said:
Do they also flog themselves? Can't imagine ignoring a beautiful language like Obj-C for C..
NS[NS[NS[NSNS NSNSNSNS][][]SN SNSNS]]]]
 
ghostofsparta said:
So c++ had problems? I was under the impression that it was one of the best/most used languages out there. Shows how much I know.
Most of its problems stem from the fact that it's old language build built to be compatible with C, which itself is even older. It still has all kinds of quirks built into it to make life easier for the compiler-writers of 20+ years ago.

On the other hand, the huge base of C/C++ code and knowledge that has been built up over 20+ years is its greatest strength. It's also a very flexible, pragmatic language.


mike23 said:
I agree with this mostly.

I think C++-esque languages still have their place, but C++ is just not the right way. The problem is that it's 30 years old and it still has to support all the shit that's been written during that time. A group of proper language designers need to get together and build a modern version of C++ that shirks backwards comparability. Take out all the shitty mistakes they made while learning how to design a language.

At this point they're just modifying a Model T to try to make it competitive with a Lexus.
I believe that D was exactly that..

It seems pretty cool, though the only thing I know that uses D is Tumiki Fighters.
 
panda21 said:
i see why c and c++ are still used but as a programmer i really dislike having to program in them now.

pypy can almost run python as fast as C now, which is insane. unfortunately it doesn't support all the python libraries yet, and in some ways python isn't so great for big projects.

i wish ocaml and haskell were more popular :( with better library support they would be awesome (although haskell is getting there)
Haskell is a nice language but it's certainly not the first thing I'd think of when talking about competitors to C.
 
Status
Not open for further replies.
Top Bottom