Announcement

Collapse
No announcement yet.

Eric S. Raymond Calls Out The FSF/GCC On Clang

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

  • #41
    Originally posted by gamerk2 View Post
    GCC is a relic, end story.
    Yes, the undisputed #1 free compiler on the planet, which supports more platforms than most compilers combined and which is used to build every single Linux and Android system out there, and which still generates the fastest code among free compilers -- is a relic.

    Phoronix is full of genius gems like this one.

    I welcome the healthy competition brought by Clang, and think that having choice among free compilers is a great thing. The only thing I hope does NOT happen, is for LLVM to kill GCC. As long as the two coexist, I support and like LLVM.

    Killing GCC would kill Free Software, period. GCC is the most important FS project ever conceived, and it must survive. Hopefully, with some friendly competition, it will improve in the process.

    Comment


    • #42
      I was prepared to accept GCC as having its place in the compiler world in the face of moving to clang personally.

      That is, until they obnoxiously deprecated IRIX MIPS support in 4.9.

      GCC's tremendous multiplatform support is one of its greatest assets. The destruction of this has eliminated my desire to bother with it. Gcc still has a place in my world, but that is only to act as a counterbalance to an LLVM monoculture and drive forward innovation.

      Comment


      • #43
        Originally posted by gamerk2 View Post
        Clang can't compile Linux because of all the GCC extensions built right into the Kernel, though I believe there's a branch that Clang can compile. As for performance, OpenMP support will likely drop within the year, and I'd suspect GCC will fall behind there as well.

        GCC is a relic, end story.
        That's even more funny, because GCC supports more architectures, it's more mature and complete. It's faster even in non OpenMP benchmarks. It's far from being a relic.

        Comment


        • #44
          Originally posted by gamerk2 View Post
          GCC is a relic, end story.
          Some people seem to think that if software is more than a few years old and works, then it must be a relic, legacy, ancient boring stuff that must be replaced.

          This results in Perl being replaced by PHP being replaced with Ruby on Rails, in turn being replaced with Node.js, which will shortly be old and boring also.

          Some people find it boring if their software works too reliably and isn't updated for critical bug fixes every other week.

          Comment


          • #45
            GCC is definitely good, but sometimes CLANG/LLVM produces better code for me...

            Originally posted by Pawlerson View Post
            That's even more funny, because GCC supports more architectures, it's more mature and complete. It's faster even in non OpenMP benchmarks. It's far from being a relic.
            My application is not 'typical', but is some carefully crafted DSP code (optimized for GCC, NOT CLANG), and does some fancy Audio/DSP processing (FIR-type processing/very innovative level detection/signal processing/etc.) The latest GCC-current generated code runs through a generic piece of audio (processing it) in 1m 30secs or more, while the latest working CLANG/LLVM-current code takes approx. 1m 5secs or so. IT IS GCC optimized, not LLVM optimized code.
            THIS IS NOT A CONTROLLED TEST, but shows that CLANG/LLVM does work well. Frankly, I like both compilers, and the kind of license for the compiler itself is of little worry to me. I worry more about the runtime or that the compiler is not being developed/updated. WRT my own interest, I find that GCC is generally slightly better only because it has been around for decades, and LLVM/CLANG is perhaps just a bit more than a decade old -- and not really all that great until the last 5yrs. I LOVE the idea of the very divergent architectures, and gives quite a bit of benefit when LLVM or GCC don't have a specific feature, but the other does.

            In general, I have found that when CLANG/LLVM works well, it does really produce good code. When it misses the mark, it usually does so about the same amount that GCC missed the mark on my own (specific) program.
            I think that general criticism of each of those compilers is based upon emotionalism of one kind or another, but there are LOTS of specific criticisms that can be used beneficially by both teams and by the user base.

            Comment


            • #46
              Originally posted by Pawlerson View Post
              GCC supports more architectures
              And if you're not targeting a PDP-11 it's fucking retarded to pick a compiler just because it supports a PDP-11.

              Comment


              • #47
                Originally posted by yogi_berra View Post
                And if you're not targeting a PDP-11 it's fucking retarded to pick a compiler just because it supports a PDP-11.
                Did anybody claim that?

                But pick a less obsolete example like MIPS. (And yes, I know LLVM supports MIPS.) You write something like a nifty library to detect spam in emails and you target i386. It is very possible that a customer will come along and ask for a version of your software on MIPS. Maybe on an Octeon. Sure, you could switch compilers, assuming that you write portable C code. But if you used GCC (and also wrote portable C code) all of your compile scripts and options will already work.

                It is good to pick a compiler that supports a lot of different architectures because that is a pretty good indication that it will support many future architectures. Who had IA64 support first? Well, Intel's ICC. But after that GCC. Who had AMD 64 support first? GCC.

                Because of GCC, there were entire Linux distros ready to run on brand-new 64-bit CPUs years before Microsoft got Windows and SQL Server ready to run on 64-bit.

                Comment


                • #48
                  Originally posted by Zan Lynx View Post
                  It is very possible that a customer will come along and ask for a version of your software on MIPS. Maybe on an Octeon.
                  Do you often find your fictional clients asking to run your fictional anti-spam library on their routers?

                  Comment


                  • #49
                    Originally posted by yogi_berra View Post
                    Do you often find your fictional clients asking to run your fictional anti-spam library on their routers?
                    That was an example and yes, the anti-spam library is fictional. The real library does something else.

                    Comment


                    • #50
                      Originally posted by Zan Lynx View Post
                      That was an example and yes, the anti-spam library is fictional. The real library does something else.
                      So you're sending your clients data to the NSA?

                      Comment

                      Working...
                      X