Page 1 of 6 123 ... LastLast
Results 1 to 10 of 55

Thread: Approved: C++0x Will Be An International Standard

  1. #1
    Join Date
    Jan 2007
    Posts
    14,782

    Default Approved: C++0x Will Be An International Standard

    Phoronix: Approved: C++0x Will Be An International Standard

    The ISO has unanimously approved C++0x, the next version of C++, to become an international standard. The International Organization for Standardization will now prepare the standards document for C++0x and release it in the coming months...

    http://www.phoronix.com/vr.php?view=OTc4OA

  2. #2
    Join Date
    Jun 2011
    Location
    Barcelona
    Posts
    74

    Default Can't help it

    C++ got to the point of no return. It's huge. People should move to D or something.

  3. #3

    Default

    For this subject, I was a rookie, but I am trying to learn !

  4. #4
    Join Date
    Jul 2008
    Location
    Greece
    Posts
    3,790

    Default

    Awesome. The new features are rocking. Especially the new meaning of "auto"; using iterators is now less ugly on screen ;-D

  5. #5
    Join Date
    Nov 2007
    Posts
    1,024

    Default

    Quote Originally Posted by bachinchi View Post
    C++ got to the point of no return. It's huge. People should move to D or something.
    D is massively larger. I just need to point that out. Complaining about the size of C++ and then recommending D as an alternative makes as much sense as complaining about the fuel economy of old car and recommending a Hummer to replace it.

    The C++ spec is a mere 1100 pages in a PDF last I checked -- that's nothing when you remember that it includes documentation on the machine/memory model, its complete standard library, various legalese and ISO comittee bits, is in gruelingly-specific details laid out in standardese wording and precision, and includes a very impressive set of (all immensely useful) features. The D language would be many, many times that size if it actually were properly documented (it is not) and if you included its standard library (which is so bad, they had to rewrite it. twice. and it's still a mess). Plus, D really doesn't actually do anything of note that C++ doesn't do; the few niceties it has and the slightly cleaner syntax don't make up for for its shortcomings, like needing to manually rebind any non-trivial C/C++ libraries you want to use (there's a reason nobody uses any of the plethora of other native languages out there), mandated garbage collection (which is a complete "hell no" to a large class of the things C++ is used for, including games), its bloated misdesigned standard library (less is more, especially when you're going to rewrite the standard library anyway for specialized frameworks... like game engines), or its single-vendor nature (they've already deprecated one version of D and left everyone stranded).

    D was a nice attempt at a better C++. The best, even. It just screwed up the way that every last single other attempt at the same has screwed up: it failed to actually be a (very near to) pure superset of C. C++ has a very specific set of properties that make it so successful. One of those is being a C superset. Obviously a clean syntax is not one of those, but frankly syntax is not that important in the grand scheme of things. Being able to do exactly what I need to do is important. The things C++ most needs fixed are changes that will give the programmer more control, less of a "safety net," and which would only mean more features and a larger spec. It would certainly be possible to design an actually successful "better C++" language. This will likely not happen, though, because the potential gain is basically nothing more than "fix a few syntax warts" and that would have to compete with "not compatible with the large body of C++ code already out there." Just not worth it.

  6. #6
    Join Date
    Oct 2006
    Location
    Israel
    Posts
    597

    Default

    Quote Originally Posted by bachinchi View Post
    C++ got to the point of no return. It's huge. People should move to D or something.
    You are aware that ***huge*** amounts of C code are still being written, right?
    Both C++ (and C) are far from dead. (I've been hearing the news about C and C++ death for the last ~15 years or so...)

    - Gilboa
    DEV: Intel S2600C0, 2xE52658V2, 32GB, 4x2TB, GTX780, F20/x86_64, Dell U2711.
    SRV: Intel S5520SC, 2xX5680, 36GB, 4x2TB, GTX550, F20/x86_64, Dell U2412..
    BACK: Tyan Tempest i5400XT, 2xE5335, 8GB, 3x1.5TB, 9800GTX, F20/x86-64.
    LAP: ASUS N56VJ, i7-3630QM, 16GB, 1TB, 635M, F20/x86_64.

  7. #7
    Join Date
    Jul 2009
    Posts
    221

    Default

    Quote Originally Posted by elanthis View Post
    Plus, D really doesn't actually do anything of note that C++ doesn't do
    I've got to disagree with you there; D adds quite a few useful things from much cleaner syntax (not critical, as you point out, but the easier code is to read the better from my point of view) to contracts to a slightly odd form of meta-programming (mixin statements), and lets not forget, built-in arrays and that are actually worth using for more than just basic operations. Contracts and class invariants are great debugging features, and something like array index checking which is done in debug mode is something I've wanted quite a few times in C++. (To be sure, some of these things are less important advanced programmers as for beginners, but C++ just gives less experienced programmers way too many possibilities to cause something completely unexpected from crashes to output that just doesn't make sense to happen in my experience.)

    On the other hand, I agree with you that D doesn't quite cut it. The difficulties of using C++ and even C libraries is one of the biggies; some other significant limitations are garbage-collector only operation, no multiple inheritence (interfaces don't quite cut it as a replacement), limited operator overload support, and class destructors not guaranteed to be run (a trade-off to allow faster program exits, as I understand it).

  8. #8
    Join Date
    Sep 2010
    Posts
    465

    Default

    There are a few things C and C++ really drop the ball.

    - binary literals
    - the way pointers syntax works (I'm saying the syntax for pointers sucks, pointers in itselve are very useful.

  9. #9
    Join Date
    Jul 2009
    Posts
    221

    Default

    Quote Originally Posted by plonoma View Post
    There are a few things C and C++ really drop the ball.

    - binary literals
    - the way pointers syntax works (I'm saying the syntax for pointers sucks, pointers in itselve are very useful.
    Huh? Would you prefer
    Code:
    pointer<int> p = new int;
    ? Or do you mean the p->y vs o.y syntax?

  10. #10
    Join Date
    Oct 2007
    Posts
    912

    Default

    Quote Originally Posted by plonoma View Post
    There are a few things C and C++ really drop the ball.

    - binary literals
    - the way pointers syntax works (I'm saying the syntax for pointers sucks, pointers in itselve are very useful.
    I'm not convinced binary literals are great - I'd use hex in all cases even if they were there. It's actually more readable to have things in hex. As for pointer syntax...well, that can be confusing (nullptr is a bit late, but helpful never the less), particularly with function pointers, but I don't think it's that bad.

    I'm quite enjoying the threading with C++0x (or C++11, or whatever) - glad to see that around. Combined with variadic templates, it's quite useful.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •