Slashdot Mirror


GCC Turns 25

eldavojohn writes "With the release of GCC 4.7.0, the venerable and stalwart constant that is the GNU Compiler Collection turns twenty five. More ISO standards and architectures supported with this release and surely more memories to come from the compiler that seems to have always been."

20 of 192 comments (clear)

  1. Happy birthday GCC! by hamster_nz · · Score: 5, Funny

    Hey GCC, only one slice of cake for you - you are big and slow enough at the moment (but I love you anyway).

    OH NO! It's like I'm married to GCC!

  2. Re:lolcompilers by multiben · · Score: 5, Insightful

    You must be a high quality programmer.

  3. Thanks gcc! by stox · · Score: 5, Insightful

    You youngin' have no idea of what kind of crap for compilers we had to put up with until gcc.

    25 years of compilation with gcc!

    --
    "To those who are overly cautious, everything is impossible. "
    1. Re:Thanks gcc! by msclrhd · · Score: 5, Insightful

      Having competing products (browsers, compilers, operating systems, ...) help keep those products from stagnating and help push all involved products to improving. It also helps prevent people being reliant on specific compiler/browser/office suite behaviour. GCC is not a "crap compiler", just like Firefox is not a "crap browser". That is not saying that GCC is issue free, nor that it has improved in part as a result from LLVM/Clang. Likewise, LLVM/Clang is not the panacea of compilers.

      Competition on a level playing field is a good thing.

    2. Re:Thanks gcc! by Anonymous Coward · · Score: 5, Interesting

      Err... no?

      Clang can be faster than GCC, when compiling with no optimizations. When you compile with optimizations enabled, that advantage disappears. Despite being nearly as slow as GCC with optimizations enabled, the binaries it produces are often slower. Some code (usually code that benefits from optimizations that Clang's developers could implement more easily than GCC's developers) may be slightly faster when compiled with Clang, but GCC's optimizer is far more mature than Clang's, and generally works better.

      Error messages... Can't argue there. Modularity is pretty cool too, especially when you can built other tools on top of Clang that use Clang's parsers. Nothing stopping you from using those tools with another compiler though.

      Clang's also not nearly as full-featured as GCC. Cross-compiling is a good example. Clang supports only a very limited number of architectures, and even with a supported architecture, cross-compilers are still kind of clumsy. Sure, GCC isn't perfect at this either, but you can use GCC to build code for virtually any platform that's still in use, and almost every platform that's been in use in the last 20 years, on nearly every operating system.

      On most of the platforms GCC supports, it's by far the best compiler available. In some cases, it's the only compiler available. Even if the Clang developers wanted to support such a wide variety of platforms (they don't), it would take years to even approach GCC.

      Even for things like C++11 support, GCC is still ahead. Despite Clang being apparently easier to develop (better architecture, or whatever), GCC has such a huge head start on Clang that it's managed to support far more of the new standard than Clang. It supports more of it than Microsoft's compiler too (which I gather has an architecture similar to Clang, but grew from an architecture that more closely resembles GCC).

      Basically, Clang's a great compiler, but it's still very new. It's developed amazingly quickly, and I think it's going to be a fantastic compiler in a few years, but it's not quite there yet.

    3. Re:Thanks gcc! by KiloByte · · Score: 5, Insightful

      How exactly GPLv3 on the _compiler_ stops you from doing anything? It has only one effect: ensures the toolchain stays usable for everyone.

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    4. Re:Thanks gcc! by PaladinAlpha · · Score: 5, Informative

      Deliberate misinformation. You are free, of course, to do whatever you want to with binaries produced by GCC. GCC's license is completely irrelevant unless you're modifying or extending GCC itself.

      Nice try, though.

    5. Re:Thanks gcc! by PaladinAlpha · · Score: 5, Interesting

      This is just fearmongering. It's not complicated at all. If you don't hook GCC's (internal) intermediate code generation to run some custom process on, then you are covered by the compilation exemption.

      Configuring your build to output GCC intermediate, retain that output, modify it with an external tool, and resume the build with the modified intermediate code is not something that will happen by accident. The implications of GCC being GPLv3 are, exactly, none.

      FreeBSD's philosophical objections to GPLv3 are well known and they have the right to maintain those objections, but that has little bearing on GCC's use for a proprietary end product.

      I would be interested to hear about your build process that you feel is likely to accidentally create a non-exempt compilation. Do you have an example?

    6. Re:Thanks gcc! by Anonymous Coward · · Score: 5, Funny

      No because that would invalidate my unsubstantiated claim.

  4. Always been? Hmmpf. by bzzfzz · · Score: 5, Funny

    Before GCC there were some excellent (for their day) compilers available from what was then an obscure technology company called Microsoft. There were cross-compilers for unusual platforms from Manx Software.

    Kids these days. Next thing you know they'll think they invented sex.

    1. Re:Always been? Hmmpf. by fnj · · Score: 5, Informative

      Actually, while PC duffers were futzing with 16 bit Computer Innovations C, Lattice C, Microsoft C 1.0 in 1983, which was pretty much just a ripoff of Lattice C, then through the 80s with Microsoft C 2.0 through 6.0, with the first hesitant entry to 32 bits in 5.0 near the end of that period (even though there was no proper Microsoft 32 bit OS available yet at that time), REAL embedded programmers were working with 32 bit 68000, 68010, and 68020 using Green Hills C and compact deterministic real-time multi-tasking kernels such as VRTX.

      Green Hills C was a significant improvement on the Portable C Compiler that came with SunOS and other BSD based unixes in those days.

      When gcc finally matured, it was an ENORMOUS boon. The action nowadays is moving to Clang/LLVM though. With Clang, you don't have to compile a separate version for every cross-compile target. Every Clang executable is capable of producing code for any of the supported targets just by using the right run-time options. Of course, this doesn't address the point that you still need appropriate assemblers, linkers,libraries, startup code etc for each target. But they are trying to get a handle even on that with the Clang Universal Driver Project.

  5. Re:Measured from where? by Anonymous Coward · · Score: 5, Interesting

    EGCS stands for Experimental/Enhanced GNU Compiler System. It was a decendant of GCC which used a more open development process. This meant that it included more optimizations and language features than the standard GCC.

    This experiment was very successful, and version 2.95 of GCC adopted the EGCS code. Since then GCC has been developed using the same methods as were used for EGCS.

    For more information and the official announcement (now historical) see this page and the GCC homepage.

    When you have a project fork, like egcs, that gets folded back into the main branch (or even when it becomes the main branch), then the main branch gets to hog all the credit and claim that it was its idea the whole time.

    So gcc is and always has been gcc, even when it was egcs. :P

  6. Re:And showing every bit of its age too, apparentl by Anonymous Coward · · Score: 5, Insightful

    Intel and Microsoft compilers are generally considered better than GCC for IA32 and x86_64, but that's mostly because those are the only platforms those compilers need to target (Microsoft care about ARM now, but I don't know how well MSVCC compares to GCC for any given ARM target). Architecture specific compilers will always be able to take crazy shortcuts in the optimiser and generator. GCC has to jump through all sorts of hoops between the front end and the back end, because the front end can't make any assumptions about the back end.

  7. Re:And showing every bit of its age too, apparentl by Anonymous Coward · · Score: 5, Funny

    <br><br>

    Good luck on your website.

  8. It's hard work being a JavaScript Rockstar. by Anonymous Coward · · Score: 5, Funny

    Your attitude makes me think that you're not a JavaScript Rockstar. Well I am, and let me tell you, it's not easy being one!

    You probably only know Pearl or See Plus Plus or See Sharp or one of those other old hat langs that nobody uses any more. You also probably only write software that's Desktop Scale or maybe even Server Scale. Well that's Old Hat and it's Small Hat!

    Us pros, we use JavaScript because it's the best language there is. In fast, it's so good that it's the only one I need to know. It's so fast to work with that I can create five social media applications before you even turn your compiler on! And since I use node.js my web app will scale to the Web And Beyond.

    JavaScript has the best dev tools around. I hear that you guys have Visual Studios or something but we have alert(). It's like your Visual Studios but it's a lot more powerful. But we only use it for the Hard Problems because JavaScript makes it so easy to write perfect software. In fact, I haven't created a bug in almost 3 years because JavaScript is perfection and I'm thus perfection because I use JavaScript.

    JavaScript is the only option today. If you're not using JavaScript, and only JavaScript, then your code is Old Hat. If your code is Old Hat then you're not a JavaScript Rockstar like me and my colleagues. And if you're not a Rockstar, then you probably shouldn't be talking about programming.

  9. Pastel and LLNL by Al+Kossow · · Score: 5, Informative

    Pastel was an extended Pascal compiler developed by LLNL for the S-1 supercomputer project
    http://www.cs.clemson.edu/~mark/s1.html

    It, and several other significant pieces of software, including the SCALD hardware design language
    were made freely available by LLNL. I have one version of the compiler, which was donated to the
    Computer History Museum by one of its authors. I have been looking for the other pieces since the
    late 80's.

    If you look at the GNU Manifesto, RMS was also looking at using the MIT Trix kernel in the early days
    of the project.

  10. Thank you gnu by Ada_Rules · · Score: 5, Insightful
    I remember the first time I built gcc in college on an decstation (probably around 1990) I was thrilled to have a free compiler with source code. It almost seemed like magic. Several years later when the GNAT project started and promised to bring Ada programming to GCC I was even happier but I never really expected it would turn into the high quality Ada compiler that we have today. While HURD never really worked out, the GCC project alone (never mind the vast quantity of other software covered by the GPL) has been transformational and I think many of the younger generation take the existence of this stuff for granted.

    Now, get off my lawn.

    --
    --- Liberty in our Lifetime
  11. Theodore Ts'o yay by brainiac · · Score: 5, Interesting

    Linux started on usenet, and what really made it blow up was the ability to use gcc to write software. The first version of linux everyone was running didn't have a login, you just got root. Soon the login program came, (i think getty). But anyway it was Theodore Ts'o who did the heavy lifting. Every new program needed something new in the C library and Theodore somehow got it done.

    Thanks Theodore !!

  12. Re:OH GOD HELP ME by Anonymous Coward · · Score: 5, Funny

    Remove the "\n" from your printf statement. After you graduate, make sure to tell the interviewer you want the management ladder.

  13. Re:And showing every bit of its age too, apparentl by Chryana · · Score: 5, Informative

    Are you an Apple shill in your spare time?

    I'm trying to read this thread, and I have to put up with your repetitive posts about how great clang is. Why don't you read some of the replies to your crap? They do a good job of debunking your claims. I have mod points, but I just hate moderating people down, even if they waste my time repeating unfounded assertions (also known as bullshit).