3 ms·
Working on GCC is like taking a big step back into the dark ages of programming. Unless you've been tracking its development for years, it's next to impossible
by daeken 17y ago
Working on GCC is like taking a big step back into the dark ages of programming. Unless you've been tracking its development for years, it's next to impossible to dive into the code and get anything done. Little to no documentation on how to build your own backends, how to build optimizations, etc. Even once you figure out how to actually write code for the project, you end up looking things up at every turn just to get things working. If you need to make a serious change to the compiler (e.g. using SSA), you end up touching effectively every part of the compiler to make it work, hence why this change took so long.
It honestly amazes me that GCC is as far along as it is; it says something about the developers' dedication to free software. However, with compilers like LLVM+Clang becoming better and better by the day (largely due to the fantastic design facilitating efficient development), I doubt we'll be seeing much of GCC in a few years.
- blasdel 17y agoGCC's was intentionally designed to be so convoluted to keep anyone from developing out-of-tree code that interfaces with any of it's internal representations, all for ideological reasons -- Stallman wanted to make sure noone would write any non-GNU features: IDE integration, language frontends, optimizers, target architectures, etc. You either have to treat it as an executable black box, or fork the whole damn project -- which actually happened back in the day when the FSF's sole paid developer refused all public involvement with RMS's blessing.
- dagw 17y agoAny source on that? I'm not arguing that gcc isn't a convoluted mess and that modifying it in any way is far harder than it perhaps should be. But I've always been under the impression that it just evolved that way due to lack of over all design. Do you have anything to back up that it was actively designed to be convoluted and obfuscated?
- blasdel 17y agoI've heard stories about this for years, there are some choice comments about it by Thomas Lord in this recent thread: http://lambda-the-ultimate.org/node/3696 http://lambda-the-ultimate.org/node/3696 I can't find it right now, but there was also an old flamewar (can't remember if it was public or just a public recounting) between RMS and Steve Jobs over NeXT's Objective-C frontend.