[Update: "C++11" is now the confirmed name -- Geneva informs me that they plan to have it published in a matter of weeks, and then we'll have ISO/IEC 14882:2011(E) Programming Languages -- C++, Third Edition. The second edition was C++03, a Technical Corrigendum, or bug patch, that contained no new features. This is the first major revision with new features.]
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.”
I want to extend my thanks again to Bjarne Stroustrup for sharing his work with the world and continuing to help move it forward, and to all of the participants whose hard work went into achieving this important milestone in the history of a great language. Thanks!
Bravo. Now to get all our corporate coding standards to unanimosly accept as well!
Congratulations on all that work.
Bravo!!
hurray!
Whoo hoo. Let’s rock!
This might very well prove to be the most significant upgrade of C++ since its inception (ok STL was pretty big, but anyway).
Now, I someone could phone Apple about his, since I’m stuck here coding native apps for iOS using Objective-C. If I could use something like shared_ptr I wouldn’t have to worry about mismatched alloc/releases etc.
w00t!!!
Well done, guys!
Google Objective-C++. Seriously.
c++0x must be the most stupid language ever invented. It is ridiculous that nowadays you have to add all that c++0x overcomplicated crap in order to make apps safer.
C++’s “inception” was C++98. Before that, there was no real C++; there was simply a bunch of informal compiler extensions to C. A lot of dialects all doing similar things, but no actual language.
So technically, C++11 is the only significant upgrade of C++ since its inception.
This is good.
Now get to work on modules. I want to see that before 2015.
[unsuccessful troll is unsuccessful]
Herb
Thanks for taking the time to keep us all informed.
Dave
I still want to see it get called C++0xB
Congratulations!!!!! Thanks for all the hard work, Herb et al :) Sweet.
Congrats :)
That’s a ridiculous claim. Just because there was no standard does not mean that it wasn’t a language. By that logic C wasn’t a language until 1989 (nevermind that people had been writing operating systems in it for a decade), and Python still isn’t a language.
Absolutely, ObjC++.
“If I could use something like shared_ptr I wouldn’t have to worry about mismatched alloc/releases etc.”
Using C++’s scoping for managing ObjC object lifetimes is a glorious thing. See http://src.chromium.org/viewvc/chrome/trunk/src/base/memory/scoped_nsobject.h?view=markup for an example.
Wonderful news!
Wow! Great news indeed!!
Wohooo!! Best news of the year!!
Why isn’t it C++B? ;)
Thanks to Herb Sutter, Dr. Stroustrup and all the other volunteers for giving their hard work to create this new standard.
As a Microsoft developer for Visual Studio, do you know if the next Visual C++ version will have complete C++0x support? At the moment I’ve switched to GCC due to its plethora of supported features… ;)
Wonderful.
Now, I’m wanting for the C++11 compliant compiler.
Just wait for 10 years (:
I’m a C++ programmer and I welcome C++ making steps to catch up with the D language, which is much simpler and more intuitive to use.
The standardisation process was dragged out for so long that GCC and MSVC are somewhat conformant already.
Congratulations to all the standard committee for all the work.
I just can’t wait for our teams to upgrade their compilers (until then, I’m stuck with C++03)
super!!!! great news for cpp developers!!!!!
Bravo!!
Herb, do you know when TR2 will be worked on, is it even scheduled yet? I’m waiting for the word on ASIO in particular.
[...] – Herb Sutter on Sutter’s Mill [...]
Cool!
people like you shouldn’t be let nowhere near a programming language.
[...] big day for native code development By tim, on August 13th, 2011 Follow tim on Twitter Herb Sutter reports that C++ 0x, which will be called C++ 11, has been unanimously approved by the ISO C++ committee. [...]
Congrats, great job, these are really cool new features I am already using in production :-)
I think this means that Stroustrup’s The C++ Programming language will double in size by next year. I hope one day someone realizes that the language has become immensely huge with a convoluted syntax that is so time-consuming to understand for a beginner.
Congratulations to C++.
Long time to wait the C++11 standard. Still waiting for the implementation of GCC
if you need fast code pick C (or ASM)
if you need objects everywhere pick Java
/thread
Congrats ! We waited so long , and finally there it is !
It’s ridiculous that we have to wait more than ten years for thing that other languages had for ages and STILL don’t have filesystem and networking functions.
In second decade of 21st century C++ via its standard library STILL cannot create or remove directory. Or list types in library, or get class field by name.
All hail Herb and Bjarne and their comitee of burocrats!
Congratulations!
Congratulations!!!!!
It should be C++013 because octal numbers start with a 0.
ignorance certainly is bliss ;)
if you need both pick C++
Congratulations! I’m looking forward to porting (upgrading :)) my codebase to the new standard.
Excellent! I’m eager to put it in place. We can expect the compiler vendors to support it right away, right? :(
[...] 感谢匿名人士的投递 据Herb Sutter报告,C++0x最终国际投票已于周三结束,所有国家都投出了赞成票,C++0x已经毫无疑义地成为正式国际标准。虽然接下来还需要数月时间出版发布,但标准本身已经完全正式成立了。 /*120*120,创建于2011-8-3*/ var cpro_id = 'u562567'; 返回 [...]
Wonderful!
Seems to me, that you are not in the target audience of C++. Maybe you are happier with Java or C#?
I love the new standard :)
You shouldn’t be let *anywhere* near English.
[...] Die Internationale Organisation für Normung (International Organization for Standardization, ISO) hat eine neue Version der Programmiersprache C++ angenommen. Die Abstimmung über C++0x sei einstimmig gewesen, schreibt der C++-Experte Herb Sutter in seinem Blog Sutter's Mill. [...]
Congratulations and thank you for your tireless work to bring us a better C++!
It’s a GREAT news for the C++ Community! Many Congrats for a new generation! :)
if you need both, plus some high-level features and great things:
Use D language.
Congrats, and thanks for your efforts.
I’m C++ programmer for more than 7 years.
And yes, I’m happier with C# and Java, but only because they have become something that C++ only dreamed to become.
Bjarne Stroustrup designed C++ as practical, non-academic language that solves real progblems in simple way.
Instead, C++ become bloatware of undefined and complex syntax rules, which doesn’t have solution to most simple and practical problems of today (filesystem, reflection, dynamic libraries, mathematics, encodings, networking) – instead, it is managed by burocratic commettee of academics who need more than 10 years to incorporate simple threading into language standard library.
And what is target audience of C++ anyway? For low-level programming C++ is too obscure and unpredictable (that’s why Torvalds uses only C for Linux kernel and hates C++). For high-level programming and UI C++ doesn’t have binary (and even source level) portability and required features (garbage collector, etc).
> And what is target audience of C++ anyway?
I’m happily using it for a fast generic machine learning library. From my experience i must conclude that once you are forced to a maximum generic implementation with a minimum of mathematical assumptions and tight efficiency constraints, C++ is the language of choice.
That’s not a typical office application of course. and i hardly need file systems, directories or an ui at all. So i must assume, that i am part of the target audience. Oh and our source portability is great.
Me myself uses C++ for more than 70% of my current large project.
But that (and your case also) doesn’t mean that we’re target audience – it just means that there’s nothing better than C++ for our project.
But it doesn’t contradict to that C++ is awful language with obscure syntax and standardization board full of bureaucrats. :)
Why would a beginner care that much about the details of a language’s syntax? What matters is how they use it. And C++0x-native code will be a lot more readable (and safer, with a lot fewer explicit deletes) than C++03 code.
> Why would a beginner care that much about the details of a language’s syntax? What matters is how they use it.
To use language one must know its syntax. If it is complex, obscure and error-provokative (as in C++), it in turn provokes errors in programs written in that language.
To the contrary, nya slick languages like C, C# and Java do not provoke so much errors by their syntaxes or constructs.
Yes, C is unsafe in memory management – but C++ too! It’s just that C++ tells the newbie: “Hi! I’m unsafe language, but you can program safely on me – you just need to read about bunch of additional classes to do that. And please do not read all over 9000 previous books about me because they are wrong, but code in them will still compile and work – just don’t write in that style!”
[...] a source of news? I’ve just seen two posts linking to Herb Sutter’s blog, entitled:http://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/So that’s it, ladies and gents. The standard that we’d been calling “C++0x” [...]
GCC has much better support that MSVC right now
http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport
In fact that’s the reason I’ve recently swapped from Visual Studio to Code::Blocks and/or Qt Creator.
That’s great news! So what are they going to be discussing at the Bloomington meeting next week?
It should be! ;)
LOL. Are you serious? C++11 will be easier to teach than *any* dialect of C or C++, and much of it will be as easy or easier than, say, a scripting language like Python. But wait, it is loses *none* of it’s efficiency, (in fact goes up by default – move semantics, r-value references) so it blows other languages out of the water where it really counts: PERFORMANCE.
Congratulations Herb and all your fellow volunteers. It must very gratifying to have *another* unanimous vote. I expect you are all very tired and look forward to a well-earned break.
But don’t wait too long!! :) We’d like the next rev to come a little sooner, and OBTW, TR2 till then would be nice…
I sure hope C++AMP will be in the next official specification in some form or other…it can truly transform the future if you can pull it off.
Again, BRAVO for your success and all the hard work.
How funny that “fake” and bad in purpose programming language created as a joke to make it difficult to use, becomes a world standard!
Our world is really crooked…
Given what I remember of C++ variation among compilers in the pre 98 era, and the state after, the situation was actually somewhere between the two. Python has no international standard but is sufficiently specified so that the behavior of the various implementations targeting a particular version of the language are the same, except for things explicitly defined as implementation specific.
glad to see it fully around in a few months.
Doesn’t it make you feel all nostalgic to be in a world where MSVC hasn’t fully implemented the standard and your template libraries have to do “cleaver” compiler dependant MACRO_MAGIC to work around it?
superb
[...] We have an international standard Like this:LikeBe the first to like this post. This entry was posted in Common. Bookmark the permalink. ← Going native on channel 9 [...]
[...] August 14, 2011 by spsash 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." I want to extend my thanks again to Bjarne Stroustrup for sharing his work with the world and continuing to h … Read More [...]
I have NEVER been a bureaucrat. So could you keep yourself from stating your opinions as facts? Do you know *anybody* from the committee in person? Or it just feels good to bash everyone like a 12 years old?
Hi Herb, great job! Congrats and thanks a lot for all the work!
[...] Си++. Комитет ISO по стандартизации языка C++ единогласно утвердил спецификацию C++0X в качестве международного стандарта [...]
Awesome! Been waiting for so so long!!!
[...] Herb Sutter bejelentése szerint a C++0X nemzetközi szabvány lett. A cikk szerint a szavazás egyhangú volt. Az új szabványt remélhetőleg még az idén hivatalosan is közzéteszik és akkor a C++ programozási nyelv új változatát C++11 – nek lehet majd nevezni. Tags: C++, standards [...]
Which means that I can use C++ on an embedded device which doesn’t have a filesystem or network.
Or I can use C++ and POSIX (maybe with a Boost wrapper) together and support virtuall all systems which do have network and/or filesystem.
And you know every bit of C’s, C#’s, or Java’s syntax? No, you don’t. But you still say they are great. You defeat your own argument.
The released version of gcc is way ahead of the released version of MSVC. But that’s a function of VC2010′s infrequent release cycle. When VC2010 came out, it was roughly tied with gcc, and when VC.next comes out, it will most likely catch up.
True. Unfortunately I’m rather impatient to use the new features so I have no intention of using VC++ until then :/
[...] We have an international standard: C++0x is unanimously approved « Sutter’s Mill This entry was posted in 未分類. Bookmark the permalink. ← リチャード・ストールマンかく語りき [...]
非常好。cnbeta观察团
Objective-C++. Also, autorelease pools.
I’m sorry that C++ confuses you. Perhaps you might want to consider a profession other than programming. Or perhaps you should use a language that eats up tons of CPU time to check for things that you aren’t clever enough to catch yourself.
C++ is by no means “unsafe” in memory management. You can do things manually, you can use shared_ptr, you can use a garbage collector. C++ works below that level.
If you don’t feel comfortable using a low-level language, than stick with something slow that will fix all your mistakes for you.
As for syntax, you can start simple and move into the more complicated stuff when you are more experienced.
I used to program in BLISS-32. It was an awesome language.
If you need fast code, and you are too dumb to learn C++, pick C (or ASM).
Fixed it for you.
C++ works below that level. It is a very low-level language. If you want directory access, just use Boost. Sheesh!
If you want type lists or reflection, something I’ve never had any real use for, then use one of the slow, bloated memory-hog languages like Java or C#, and leave C++ to the people who know how to use it.
I’m sorry that it is too complicated for you. Stick to BASIC.
[...] “The final ISO ballot on C++0x closed on Wednesday, and we just received the results: Unanimou… [...]
I wrote an Objective C++ smart pointer, as blogged here:
http://www.levelofindirection.com/journal/2010/8/13/ocptr-a-smart-pointer-for-objective-c.html
But I think ARC makes it pretty redundant now.
There’s still a lot to be gained by using C++ with iOS, though – keeping Obj-C to the GUI and other parts that need to interact with Cocoa-Touch
[...] 英文链接:herbsutter.com [...]
[...] 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." I want to extend my thanks again to Bjarne Stroustrup for sharing his work with the world and continuing to h … Read More [...]
After what happened with OOXML I don’t see any value in international standards anymore. It is all but a corrupted hypocrisy.
[...] Herb Sutter announced in his blog the ISO committee has approved a new C++ standard. I hope compiler will adopt [...]
[...] 長きにわたって議論されていたC++の次期標準規格、通称「C++0x」が、ついに国際標準規格として承認されたそうだ(Faith and Brave — C++で遊ぼう、Herb Sutter氏のブログ)。 [...]
[...] Си++. Комитет ISO по стандартизации языка C++ единогласно утвердил спецификацию C++0X в качестве международного стандарта [...]
[...] Си++. Комитет ISO по стандартизации языка C++ единогласно утвердил спецификацию C++0X в качестве международного стандарта [...]
Great, I’ve been waiting and caring for two years, it’s really great.
[...] C++0x fue unánimemente aprobado. Si todo sale bien con la publicación del estándard, tendremos finalmente C++11 [...]
[...] Sutter, presidente del comité de estándares de C++ de la ISO anunció este viernes pasado que el resultado de las votaciones ha sido el de aprobar por unanimidad la actualización del [...]
Why would be C++ slow? (and slower than java? are you serious?)
Did you mean to reply to Bruce (who obviously means that C++ is equally as fast as C and ASM, while being much faster to write), or Jan, who made the claim that C and ASM beat C++ speedwise? And none of them said C++ is slower that Java.
[...] komitetu C++, Herb Sutter, ogłosił że następna wersja orientowanego obiektowo języka programowania C++ została [...]
really do not understand this =] looks like math combined with science and art =D
Well this ought to prove that something designed by a committee can be both brilliant and (hopefully) bugfree. Once the fireworks are over, maybe you will take a shot at a C++ 1x say with concepts?
A number of inconsistencies have already been found. Still, it’s a fabulous piece of work, with very few defects considering the length and complexity.
Congratulations!
I was luckily able to download the actual document that was voted on, before it was quickly pulled from public access. The document is identified as a “Draft International Standard”, unlike the “working drafts” that were liberally distributed earlier. This one has all the sloppy formatting, strikeouts, and editor’s notes cleaned up.
Since the document was unanimously approved, apparently as is, why does it take so many additional months to get “published.” What’s wrong with right now? I’ve got it; why can’t everyone get it? Why so secretive at this point?
[...] does it go from here? ISO will work on publishing it, which Herb Sutter says could take several months but hopefully will be complete this year. And we can all start calling [...]
This is the point where ISO and the national standards organizations get to start charging for it – free copies will no longer be available.
Herb, what’s the story with the naming convention? How do you go from “C++0x” to “C++11?”
Anyway, congrats and about time too!
Aaah, ok? I am sure Herb got all of that.
It was expected to come out before 2010, hence C++0x. Now it looks like it’s coming out safely in 2011, it’s C++11.
We can, of course, pretend that C++0x was hexadecimal and we were never wrong =P
Out of curiousity. I’d like to see you elaborate on that a bit. Especially the ‘created as a joke’ part.
Congratulations, great news for all C++ “lovers”!
Since it was free for public consumption until the actual voting started, I am pretty sure anyone can find copies if they look around the net. This is a stupid rule that needs to go away.
That’s the problem with Java and C# they standard library is huge! So no one actually knows to use it fully, let alone all the other frameworks that exist and that do the same thing in different terms (sometimes with only different classes and methods). In Java the first thing that you do for a project is which framework or frameworks should I use? Then, you end up with a lego based system, that while it does what it is wanted, it does it in a weak way, it has a lot of problems due to the integration of the various libraries, it has security problems because the libraries may assume something that the other does not provide and that the programmer overlooked and the list goes on.
So while in C++ you start by designing classes, in java you start by choosing components, while the later may seen better it is not, because of cross cutting concerns.
But java has two good things that many languages don’t have, Swing, the UI library and JDBC the database interface, the first because of the flexible layour managers, and the second because of the uniform and simple interface.
Actually one bad thing in C++, is that he standard library is starting to look a lot like java with a lot of things that programmers may not want, but that must be included in the programs (no one likes a multi-megabyte framework to be able to run a program with only a few kb, particularly when that program uses only a third of the framework or less). It would be much more interesting to exploit the power of dynamic libraries and separate the library in pieces that while developed as one, can be used in small pieces as the programmer needs it.
[...] obsługi C++0x. To ważne, gdyż język C++0x ostatecznie został ustandaryzowany przez ISO i pod nazwą C++11 trafi „pod strzechy” w ciągu najbliższych [...]
[...] Sutter氏のブログhttp://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/http://sourceforge.jp/magazine/11/08/16/0544213 3 名無しさん@涙目です。(catv?) [...]
For the 80% of code who’s speed is irrelevant, C++ is better than C. for the 19% who’s speed is important, you *may* have to forgo so much of C++ that you might as well use C. For the remaining <1% where speed is critical: hire someone who thinks C is for weenies to do it in ASM.
I don’t care what others call it: as for me and my code, it will be C++0xB!
[...] final ballot for the C++ standard finished closed last Wednesday and was unanimously approved, Sutter said in his blog. C++11 has been referred to as C++0x and is to be published in a few weeks. The language, he said, [...]
[...] de uma publicação em seu blog, o presidente da comissão do C++, Herb Sutter, anunciou que a próxima versão da linguagem de programação orientada à objeto, C++, foi [...]
[...] مربوط به این تایید ISO در این پست قابل مشاهده است. برای اطلاعات بیشتر درباره C++0x (یا C++11) [...]
If it helps anyone looking for the correct pdf document, it is N3290, oddly one *less* than the last “working draft” (N3291), although it is, understandably, dated 6 days later (04/11/11 vs 04/05/11). I’m not going to retransmit it, because of the copyright notice, although I have legal/moral justification to study it myself, as I got it from the committee.
Since the document is written in “standardese”, it is work to read and comprehend the weight and implications of all the statements; the document is perfectly reticent in such matters. I can’t wait for Bjarne Stroustrup’s fourth edition to “the C++ Programming Language”, which will, no doubt, be an easier, pleasanter read (thanks in advance Dr. Stroustrup). In the mean while, to gain perspective, it’s helpful to look back at some of the prior committee papers advocating specific components to the standard.
I agree that the standard should be given away, just as the drafts were, to promote wider and earlier knowledge of it. Monetization should be done in some other way.
[...] final ballot for the C++ standard closed last Wednesday and was unanimously approved, Sutter said in his blog. C++11 has been referred to as C++0x and is to be published in a few weeks. The language, he said, [...]
[...] this is 2011 and the final standard that emerges from C++0x will ths rightfully be called C++11.ISO has just declared “unanimous approval” for the new standard, and it is likely to be published soon as “ISO/IEC 14882:2011(E) Programming Languages [...]
[...] http://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/ [...]
Great, looking forward to be able to use a much more powerful and more complete language.
C++ is the best language for scientific programming and engineering.
Thanks Stroustroup, Sutter and all other contributors to the ISO C + +.
Wohooo!! It’s cool, really cool!
[...] Одобрен окончательный вариант спецификации языка программирования C++0x 13th Август 2011 adminHostingPedia herbsutter.com [...]
[...] dżungli czy w innym podobnie odciętym od cywilizacji miejscu, z pewnością słyszał najważniejszą nowinę ostatnich lat. A już na pewno wspomnianego tygodnia – bo przecież jak tu ją nawet porównywać z takimi [...]
[...] to Herb Sutter as of 12 August 2011 C++0X specification was approved by ISO. C++11 is the official name of the [...]
[...] ISO has just declared “unanimous approval” for the new standard, and it is likely to be published soon as “ISO/IEC 14882:2011(E) Programming Languages — C++, Third Edition”. [...]
A good step forward – Next one is to standardize on a UI library and the world is ours (who needs HTML ;-)) – Seriously
[...] Comments « We have an international standard: C++0x is unanimously approved [...]
Good News!
Congratulations!
Awesome, I can’t wait for compilers to implement all the new goodies!
[...] C++ har blitt enstemmig vedtatt som en internasjonal standard av ISO. Dette melder Herb Sutter, formann i C++-komiteen i ISO. Den endelige avstemningen ble avsluttet 10 august [...]
Why in the world does it cost almost $500 to get an official copy of the standards document from ISO?!?!?!
I paid $18 for the C++98 document back in the day.
There has to be a better way to get the official document into the hands of individual developers who want to see that level of detail.
There are ways to get it for a reasonable price. For example, when the updated edition is published of http://search.barnesandnoble.com/The-C-Standard/British-Standards-Institute/p/9780470846742
[...] 12 août 2011, Herb Sutter annonçait sur son blog que la nouvelle norme C++0x était approuvée à l’unanimité. La précédente norme datait [...]
[...] just over a month ago we heard the good news: by unanimous decision, C++11 is now an official international standard. There were wins and losses in the standard; we gained tuples, threading and a smarter for, but we [...]
[...] the new C++ standard is finalised and voted on unanimously. Does that mean that we’ll have another decade of C++ incompatibilities ahead of [...]
[...] immediate support of C++11 in C++-based projects. He also linked to Herb Sutter’s blog saying the standard was unanimously approved in the ISO voting. In his blog, Marc calls for Qt 5 and KDE 5 to require C++11 in the compilers.I [...]
How time flies!
[...] – Herb Sutter on Sutter’s Mill [...]
[...] Herb Sutter l'annonce sur son blog. [...]
Great work… But this language C++ is very very difficult to learn specially for a person who has not a tech background..
[...] C++11 einstimmig angenommen! [...]