Page 1 of 3 123 LastLast
Results 1 to 10 of 29

Thread: GCC Can Now Be Worked On In C++

Hybrid View

  1. #1
    Join Date
    Jan 2007
    Posts
    15,633

    Default GCC Can Now Be Worked On In C++

    Phoronix: GCC Can Now Be Worked On In C++

    The Free Software Foundation and GCC Steering Committee have now decided that it's okay and permitted to write code for the GNU Compiler Collection (GCC) within C++. Up to this point, C has been the preferred language for working on GCC...

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

  2. #2
    Join Date
    Jul 2008
    Location
    Greece
    Posts
    3,801

    Default

    That's good news. I imagine this might get them some new contributions from C++ devs.

  3. #3

    Default

    Quote Originally Posted by RealNC View Post
    That's good news. I imagine this might get them some new contributions from C++ devs.
    From the looks of things, I doubt it. According to the mailing list email, they seem to want to disallow many features of object oriented programming in contributed code, which is the wrong way of doing things.

  4. #4
    Join Date
    Jan 2008
    Posts
    772

    Default

    Quote Originally Posted by Shining Arcanine View Post
    From the looks of things, I doubt it. According to the mailing list email, they seem to want to disallow many features of object oriented programming in contributed code, which is the wrong way of doing things.
    The only actual object-oriented feature I see mentioned is multiple inheritance, which is not exactly universally accepted even among OO programmers (Java and C# deliberately omitted it in favor of single inheritance + interfaces, for example).

  5. #5

    Default

    Quote Originally Posted by Ex-Cyber View Post
    The only actual object-oriented feature I see mentioned is multiple inheritance, which is not exactly universally accepted even among OO programmers (Java and C# deliberately omitted it in favor of single inheritance + interfaces, for example).
    They also mention templates. As far single inheritance + interfaces, that is a castrated form of multiple inheritance. In that capacity, all but one class from which a base class inherits must be abstract. It is a way of dealing with name-space collisions, although not a particularly good way and it is still a form of multiple inheritance.

    Quote Originally Posted by RahulSundaram View Post
    GCC has for a very long time now supported multiple languages and hardly specific to C anymore. To be misinformed AND insulting is hardly a good combination. Even assuming that GCC is only a C compiler, there is nothing wrong with writing it in a different language if there is a benefit to doing so. It is entirely up to the developers to decide what the efficient method is.
    C++ was originally called C with Classes. It is a dialect of C and its features directly translate into things in C. The objects are just structures with function pointers and corresponding function pointer tables. Classes are just collections of functions that take objects as their first parameters. Templates and function overloading are just short hand notations for functions that would have been given different names in C. All of the features of encapsulation, and the ways in which it can be broken, which includes friend functions, are just a form of structure that a programmer would have enforced on his own anyway, assuming he was writing good code.

    From a fundamental perspective, C++ is nothing more than a shorthand notation for C. The only aspect in which they differ is in exception handling, which is something that was tacked onto C++, is entirely optional and is often not used. Good programmers never had a need for exception handling anyway.

  6. #6
    Join Date
    Apr 2009
    Posts
    8

    Default

    Quote Originally Posted by Shining Arcanine View Post
    ...
    there is so much wrong with this post, i wouldn't know where to begin... don't try to be a wise-ass about stuff you aren't really that familiar with.

  7. #7
    Join Date
    Apr 2010
    Posts
    819

    Default

    Quote Originally Posted by Shining Arcanine View Post
    From the looks of things, I doubt it. According to the mailing list email, they seem to want to disallow many features of object oriented programming in contributed code, which is the wrong way of doing things.
    I think you misunderstand their intent. They're changing the rules to allow C++, but since not all existing developers are C++ experts, they're not going to immediately "anything goes" for those developers who are. So, to start with, they're allowing basic classes and the STL, but not allowing more confusing features like multiple inheritance or templates. Entirely sensible, as far as I'm concerned.

    Or look at it a different way - the developers already have standards on the code they accept, and anything they find overly complicated is going to get shot down pretty quickly - whether it's because the code was badly written, or because it uses advanced language features that the reviewers aren't experts in. A coding standard like the one proposed merely identifies up-front the subset of C++ which they're prepared to accept, to avoid wasting contributor's time.

  8. #8
    Join Date
    Aug 2008
    Posts
    233

    Default

    Ah, I only hope that LLVM, Clang and friends get the same level features/speed as gcc, so we can stop depending on gcc.

    But any way, competition is always good.

  9. #9
    Join Date
    Jan 2010
    Location
    Ghent
    Posts
    220

    Default

    Quote Originally Posted by KDesk View Post
    Ah, I only hope that LLVM, Clang and friends get the same level features/speed as gcc, so we can stop depending on gcc.

    But any way, competition is always good.

    Yeah I wonder if the decision to allow C++ in the GCC code is a consequence of them feeling the "heat" from the LLVM/Clang crowd.

    LLVM/Clang is moving along VERY nicely and with recent self-hosting capabilities and their new libc++ they are quite free to get ported and used independently of GCC.
    The ClangBSD project seems to move along nicely and work is underway to get the Linux kernel compiled with clang.

    Competition is good indeed. I look forward to a couple of interesting years ahead.

  10. #10
    Join Date
    Dec 2008
    Posts
    166

    Default

    Hu? C++ in a C compiler? Are gcc devs high on drugs?

Tags for this Thread

Posting Permissions

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