Any information about C++0x...... Dose anyone know what the big difference are going to be? Am I going to have to learn everything over again?
Printable View
Any information about C++0x...... Dose anyone know what the big difference are going to be? Am I going to have to learn everything over again?
For a new standard to be acceptable to the majority of users, it is generally considered better to make sure that the old style code works too - so "learning anew" is not the case. There will be some extensions to the existing language and library, but it's evolution, not revolution.
If you search the forum, you'll find a few references to and discussions about the new standard.
--
Mats
I suggest that you read: The State of the Language: An Interview with Bjarne Stroustrup.
You could also read the Wikipedia article on C++0x, but it probably contains inaccuracies.
I hope they finish it soon, otherwise they might need to call it C++1x :p Strange how the name isn't even Y2K compliant.
Yeah, I heard that too. It will probably become C++0A or so last I heard. And that was from PDC from a Microsoft employee working with Visual Studio.
But fret not, for a lot of C++0x features are beginning to make its way into compilers already.
The C++0A is more of an insider joke than a real idea, I think. But anyway.
The Wikipedia article is OK. There was one gross inaccuracy that I recently fixed, but I believe everything else is in pretty good shape.
The only major habit changing changes are concepts, which adds better type safety to templates, and nullptr.
Everything else is just features.
EDIT: forgot about nullptr.
There are more type-safe enums, as well.
But I think it is unfair only to mention these features, since C++0x will contain a lot more verrrrrrrrrry nice features.
If it was C++0A, it wouldn't make any sense.
It would probably be
C++0x0A
Although my point would be, why not just do
C+=2 or C+++ lol. Seems silly.
Anyway I thought C++ was finished, and D was going to be used in the future?
"0x" is just a notation used in C++ to tell the compiler it is a hex number; nothing more, so C++0A is fine.
And C++ is very much alive and kicking and not going anywhere soon.
Forget D! Stay with the tried and true C++!
I haven't tried it, but isn't it supposed to be a) compiled to machine code, b) do away with the backwards compatibility problems C++ inherited from C, c) let you do your own memory management (though garbage collection is also available). So exactly, what are your arguments against it?Quote:
Forget D! Stay with the tried and true C++!
Mostly unfamiliarity. It was sarcasm, not anti-arguments.
Also, D is too young to be practical yet. No good IDE to my knowledge. Lack of const correctness.
The whole function_name = n syntax is horrible and disgusting.
Perhaps D may become something yet, but as of right now, it is not.
D is not that young, but the fact that it still really hasn't caught on suggests that it won't.
D suffers from sitting in an uncomfortable middle ground (C++ programmers tend to see it as a peculiar little brother of C++, while Java/C# programmers have never heard of it and wouldn't care about such a language anyway) and from a rather poor standard library, which lacks vision and extent. (The Java standard library and the .Net framework have extent, the C++ standard library has vision.)
That's what I mean by young. It has one version, a second experimental and lacking features that C++ take for granted - such as const correctness and has a poor standard library.
Granted, that should all change over time, when it becomes older and is my point. D is too young right now.