Anyone started to learn C++0x yet? I've been learning this past few hours, there's quite a lot of extra stuff here, the C++0x Final Committee Draft is twice as big as the original C++98 spec. Most of it is library additions.
Overall it looks like it fixes a lot of shortcomings with C++ currently and will be a help if you're already an expert. But it also looks like there will be a lot more here to shoot yourself in the foot with if you're a beginner.
I wonder if C++0x will be well received or will only end up fracturing existing C++ communities.
I like how languages like C++ and Perl are too messy to really apply modern theory too (e.g., both have non-decidable grammars), so no one even tries. They just pile on random ad hoc features, usually to fix some other broken feature, into every unused nook and cranny of the syntax without a thought to orthogonality, cleanness, ease of implementation, etc.
You know, D, for instance, let you specify that a variable or function should be evaluated at compile-time, as the compiler can actually interpret a subset of the language.
I haven't researched this, but I'm pretty sure that lets you do all the things these user-defined literals are good for.
This places a demand on the compiler implementation, yes, but in return the language syntax remains virtual identical. You use the exact same simple-to-understand form for compile time evaluation that you would for run-time evaluation, and it works pretty much as constant-folding.
This isn't new with Cppox either; initialization lists are exactly the same. What moron would completely redundantly introduce complex new syntax just to save himself some simple analysis of the ``constructor'' that in turn is only necessary because of the ill-thought-out implementation of some other features that in turn were redundant themselves? The big B, that's who. Even Java does this better.