Announcement

Collapse
No announcement yet.

GCC Moves Forward With Conversion To C++

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • GCC Moves Forward With Conversion To C++

    Phoronix: GCC Moves Forward With Conversion To C++

    The GCC initiative to convert more of the code-base from C to C++ as the implementation language for this leading open-source compiler is nearing fruition. On Sunday, Google's Diego Novillo published a set of GCC patches for merging the C++ conversion into trunk...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    GCC dumbing down open source

    The reasons they cite being
    • C++ is a standardized, well known, popular language.
    • C++ is nearly a superset of C90 used in GCC.
    • The C subset of C++ is just as efficient as C.
    • C++ supports cleaner code in several significant cases.
    • C++ makes it easier to write and enforce cleaner interfaces.
    • C++ never requires uglier code.
    • C++ is not a panacea but it is an improvement.


    None of which are technical benefits, GCC are choosing to compromise on quality for the percieved convenience of its implementation.

    The role of a programmer is to translate real world problems into the realm of the machine, this change clearly doesnt reflect that understanding. You would think, as compiler developers they would understand its purpose better.

    Comment


    • #3
      @bug1 Thank God that you exist and know better than them, finally the mankind has found the one "who gets it" (TM).

      Comment


      • #4
        Originally posted by phoronix View Post
        Phoronix: GCC Moves Forward With Conversion To C++
        This is a bad thing, right? C++ is such a horrible and ugly language.

        Comment


        • #5
          Originally posted by bug1 View Post
          The reasons they cite being
          • C++ is a standardized, well known, popular language.
          • C++ is nearly a superset of C90 used in GCC.
          • The C subset of C++ is just as efficient as C.
          • C++ supports cleaner code in several significant cases.
          • C++ makes it easier to write and enforce cleaner interfaces.
          • C++ never requires uglier code.
          • C++ is not a panacea but it is an improvement.


          None of which are technical benefits, GCC are choosing to compromise on quality for the percieved convenience of its implementation.

          The role of a programmer is to translate real world problems into the realm of the machine, this change clearly doesnt reflect that understanding. You would think, as compiler developers they would understand its purpose better.
          Yes, yes.. there's no reason we all shouldn't just be writing in ASM since it's our job to understand and translate "real world problems" into machine problems...

          What's that you say? Other languages are way easier to write, understand, and maintain bug-free software than ASM? That doesn't matter, it's only a "perceived convenience", there's no real technical benefit to not simply writing in ASM, right? Code structure and readability don't matter since it's all just translated into binary anyways, and it's your job to understand that process. It's not like massive code projects, such as the GCC, are jointly created and maintained by people with varying programming skills who need to maintain a mental analysis of the overall architecture in order to properly contribute to it without introducing bugs all over the place... anyone who can't grasp a programs structure by reading the ASM just isn't a good programmer after all...

          </sarcasm>

          Comment


          • #6
            Originally posted by bug1 View Post
            The role of a programmer is to translate real world problems into the realm of the machine, this change clearly doesnt reflect that understanding. You would think, as compiler developers they would understand its purpose better.
            Hmmm... One would think that that's precisely why programmers like to use languages that let them focus more on "real world" problems rather than one the machine's low-level technical details, but you obviously know much better.

            Comment


            • #7
              Originally posted by bug1 View Post
              None of which are technical benefits, GCC are choosing to compromise on quality for the percieved convenience of its implementation.
              Not so true, LLVM is also written in c++ with good modular construction and high quality. IMO, this conversion is in order to better compete with the increasingly-popular LLVM.
              FYI, http://www.phoronix.com/scan.php?pag...tem&px=MTA3MzE

              Comment


              • #8
                Originally posted by bug1 View Post
                None of which are technical benefits, GCC are choosing to compromise on quality for the percieved convenience of its implementation.
                Easier and better ability to develop and maintain software is a technical benefit, Besides how is quality negatively effected by switching over to C++? You do realize that C is compiled as C++ by default and with a compiler the question is a matter of the quality of the binary itself as well as speed, neither of which should have a meaningful negative impact and you might actually see a net benefit long term because of it being easier and thus faster to develop and maintain.

                Comment


                • #9
                  Originally posted by bug1 View Post
                  The reasons they cite being
                  • C++ is a standardized, well known, popular language.
                  • C++ is nearly a superset of C90 used in GCC.
                  • The C subset of C++ is just as efficient as C.
                  • C++ supports cleaner code in several significant cases.
                  • C++ makes it easier to write and enforce cleaner interfaces.
                  • C++ never requires uglier code.
                  • C++ is not a panacea but it is an improvement.


                  None of which are technical benefits, GCC are choosing to compromise on quality for the percieved convenience of its implementation.

                  The role of a programmer is to translate real world problems into the realm of the machine, this change clearly doesnt reflect that understanding. You would think, as compiler developers they would understand its purpose better.


                  this ^

                  Comment


                  • #10
                    I can understand their reasoning, but something tells me this won't end very well..

                    Isn't the gcc codebase really freaking huge? Converting all that code to C++ while striving to make the code clean (which means they'd probably want to take advantage of C++ stuff like inheritence or whatever) isn't an easy task. I'm worried that we'll be seeing really buggy GCC releases that will compile stuff wrong at some point or something (probably won't happen though, gcc devs seem to know very well what they're doing)

                    Comment

                    Working...
                    X