5 ms·
I am even more concerned about LLVM monoculture. LLVM is just a proprietary-able version of GCC. And thus compiler authors mostly focus on benchmarks while not
by higerordermap 6y ago
I am even more concerned about LLVM monoculture.
LLVM is just a proprietary-able version of GCC. And thus compiler authors mostly focus on benchmarks while not caring about other metrics such as compilation speed, correctness and codebase quality / ease of contribution. There appears to be some tribal knowledge requirement to add a new target.
With all the hype and apple funding LLVM gets, it could have been better.
- Google234 6y agoI all see are a bunch of baseless accusations.
- deleted 6y ago[deleted]
- deleted 6y ago[deleted]
- yzmtf2008 6y agoI wouldn't say GCC has an edge on "codebase quality / ease of contribution". Doesn't RMS actively pushes against such metrics? https://gcc.gnu.org/legacy-ml/gcc/2014-01/msg00247.html https://gcc.gnu.org/legacy-ml/gcc/2014-01/msg00247.html
- boris 6y agoHaving contributed to both (nothing major but not trivial one-liners either), my feeling is GCC definitely has a higher quality codebase and a more rigorous review process. While the latter doesn't always translate to the ease of contribution, I found that if you are persistent enough, your patches to GCC will be reviewed. On the other hand, I had my patches to LLVM ignored forever. Just my 2c based on experience.
- JoshTriplett 6y ago> LLVM is just a proprietary-able version of GCC. It isn't just that. It's also a compiler framework, somewhat usable as a library without being part of its codebase. And I really do mean somewhat usable; the LLVM experience for use as a library is not great, but it's wildly better than GCC's. I think that, not just the license, is a big part of what made LLVM successful.
- pjmlp 6y agoGCC has plenty of frontends to choose from. The license was the biggest deal.
- JoshTriplett 6y agoAll of those frontends live inside the GCC source tree. Which requires copyright assignment to contribute to. And for a long time, it was difficult to "casually contribute" to GCC; you had to work towards "commit access", and it wasn't anyone's job to review other people's patches, so often it just didn't happen. And there are various other barriers to contribution as well. LLVM's license was certainly a factor, and I'd never suggest otherwise, but there were many other reasons that GCC couldn't help kick off a wave of language design and experimentation the way LLVM did.
- pjmlp 6y agoNo they do not. GNU Pascal, Modula-2, Modula-3, BASIC and plenty of OEM derived ones were never part of GCC source tree. I had to study GIMPLE and GCC integration as part of my compiler design studies back in the 90's, using those nice Walnut Creek CD-ROMs.
- JoshTriplett 6y agoSure, you could also fork all of GCC as part of your frontend. That's still a massive undertaking compared to a framework that's designed to be used as a library.
- 6y ago