C++0x Update

Pages: 12
closed account (1yR4jE8b)
Wait...so does this mean that C++1x is finalized? C++11?

if so..

FUCK YEAH
The draft is finalized. Nothing more can be added.
YAY!
Impressive.
Huh? Guess it's time for a big finalization party then.
About... time.

-Albatross
It's since 2008 the new standard is 'almost' ready and that it will be released in few months.
They were sure that C++0x would have been C++09 then C++0X where X is the Roman numeral, then C++0B where B is hex...
I won't be surprised if we end up with C++אo
It looks like everyone is calling it "C++ 2011" now... I'm not sure if that's going to be official or not, though.
closed account (3hM2Nwbp)
Even if it's not the new C++ bible yet, the compilers now have a set-in-stone goal. It's a great step regardless.
To me, the whole process takes "too long". By the time the next C++ standard came along, most developers have cling on to new-er or faster-paced changing languages like Java.

It is not I don't go back to my roots but then the roots grow at such a slow speed that other flowers and scent have seduced me over.

Of cuz every now and then I go back and take a look at the roots to see is it growing :P
closed account (z05DSL3A)
the roots grow at such a slow speed that other flowers and scent have seduced me over.
Interesting analogy ... if you think about rain forests, when one of those systems based on such slow growing roots dies, new systems spring into life to fill the gap but its always filled with a slow growing tree eventually.

To me, the whole process takes "too long". By the time the next C++ standard came along, most developers have cling on to new-er or faster-paced changing languages like Java


Uh, oh, Java moving fast? I thought it was the slowest evolving language.... hmm, except C and C++.
closed account (z05DSL3A)
The more people use a language, longer it takes to please everyone when it comes to changing it.

I personally don't like fast changing languages, they have the air of incompleteness about them.
In IT software development arena, time and tide waits for no man. That is how I have been "groom-ed" by this industry since I join the work-force 12+ years ago.

I personally don't like fast changing languages, they have the air of incompleteness about them.


It really depends on the development process and priorities made by the team evolving the language. I have more feel of incompleteness about Java and C++ than about Scala or Clojure.
The latters are mostly adding new library features, not changing the language core (especially in case of Clojure which is a LISP variant, but Scala's OOP is also a lot simpler than Java's). Having a simple, consistent and extensible core set of language features is what decides whether it is easy to evolve a language or not.

It is far easier to change a library than to change a core lanuage feature. Many things that are core language features of Java and C++, are accomplished by libraries in the faster changing languages.

If you put into the core language all possible features that some of the programmers would like to have, then it would be very hard to make all of them orthogonal and quickly you will end up with adding new features just to fix the problems with the old features. Also adding completely new things, that in isolation seem to be very simple, will be very, very, hard. This is what actually happened in C++0x, e.g. with concepts - they had to leave them out because of lots of corner cases they caused. While other languages have a similar feature for many, many years, without problems. Another example are perfect generic forwarder functions - problematic only in C++.
Last edited on
Back to the old language debate I see...
The thread is about language design issues - why we had to wait for C++0x for so long, while many other languages have had these new features for years.
Last edited on
closed account (z05DSL3A)
It really depends on the development process and priorities made by the team evolving the language...
No, my opinions are my own and do not depend on the development process etc. If I think that rapid changes to the language make me feel that the language is incomplete, then that is how it is.

The latters are mostly adding new library features, not changing the language core...
Not changing the language core is 'not changing the language', libraries are a whole different ball game, one that I didn't mention.

If you put into the core language all possible features ...<yarda yarad yarda>... Also adding completely new things...<yarda yarad yarda>... problematic only in C++.
Good job they took such time as needed to find out what works and doesn't, rather than rush into things, then.
No C++0x feature is 'new': all the new libraries were already implemented;
the same is true for language features: some were implemented as libraries, others as vendor-specific extensions.
Pages: 12