Why the hell are they putting all this effort into improving/fixing C++, when everyone knows it's the epitome of an imperfect language, and we've already got languages like D that are a little more sane.
I petition we euthanize C++ for the lives and innumerable man-hours it has wasted. Take her out back and put her down.
Name:
Anonymous2009-06-08 5:15
when everyone knows it's the epitome of an imperfect language
I think this is the problem.
,-----.
%%%%%%% SEPPLESOX:
#######
%%%%%%% HELPFUL DAILY MUNDANE LANGUAGE
| |
| | OR
|& |
(&$ `-. TERRIFYING MENACE TO PROGRAMMER SOCIETY WHICH MUST BE
`. $&& `. ATTACKED IMMEDIATELY UNDER ALL CIRCUMSTANCES
__`. * `. OR WE'LL FACE THE HORRIBLE WRATH OF THE OPPRESSION
/ ""`-. ** \ OF ITS PIG DISGUSTINGNESS
\_______`-.___)
Name:
Anonymous2009-06-08 16:15
C is fine, I don't see why they felt the need to ``improve'' it. also post-incrementation means that it will only get better after it is evaluated (obsoleted)
>>1
It wouldn't be quite as bad if they didn't have this retarded "HEY GUYS WE NEED TO MAINTAIN COMPATIBILITY WITH C" mindset. The only way Sepples is ever going to be a really strong contender is to dump its unholy marriage with C and fix up the murky and fucked up syntax.
Even Bjarne was like WHY WAS > > EVER A PROBLEM FOR CLOSING MULTIPLE TEMPLATE STATEMENTS[1]
They're adding constexpr, which has to be the most useless thing ever. They're not clarifying the oh, I don't know, countless cases of static semantics. They should be divorcing C so they can actually do this.
_ 1- http://www.research.att.com/~bs/C++0xFAQ.html#brackets as accessed at 16:03 CST on 08 JUN 09
It wouldn't be quite as bad if they didn't have this retarded "HEY GUYS WE NEED TO MAINTAIN COMPATIBILITY WITH C" mindset.
The sad thing is, they're maintaining compatibility with an ancient pre-ANSI version of C instead of modern ANSI C.
* auto types
* initializer lists
* extern templates (finally)
looking forward to
* further support for concurrency primitives
* range for (does 4.4 have this yet?)
I can't see me touching half the new functional shit they're throwing in. Lambda syntax is cancer to my eyes but I'll probably get used to it. Still cant figure out what the fuck rvalue references are for. Variadic templates? HRNNNG.
class X {
int a;
public:
X(int x) { if (0<x && x<=max) a=x; else throw bad_X(x); }
X() :X{42} { }
X(string s) :X{lexical_cast<int>(s)} { }
// ...
};
Hahah, wow! Even Java does it better than that, despite sucking ten kinds of ass. Completely unnecessary introduction of special case syntax? This is Perl country! Now I'm just waiting for C++15 to throw in some unicode operators as optional syntax to shorten some random C++ idioms by a few characters.
>>6
I read my own post and recognized it. I should strive to be slightly more anonymous in the future.
Name:
Anonymous2010-07-05 0:22
>>38
Well since you're still here, let me point out that your use of that citation in >>6 is misleading. Bjarne wasn't wondering why it was a problem; he was asking it from the perspective of the user, in a FAQ sense.
If you had bothered to read your own link, he knows full well why it was a problem, and he explains it: the C++ grammar is ambiguous, so you need to combine the parser and lexer together to parse this. This should not be required for any parser in any sane language, so the rule for needing a space was made to keep it unambiguous. However compiler writers did it anyway in order to give sane error messages for C++ code, so they just went ahead and made it valid in C++0x.