|
|
|
|
|
by amyjess
2594 days ago
|
|
Everyone could stand to learn the lessons of gcc. Back in the '90s, when gcc really took off, it got a lot of attention for being faster and optimizing code better than anything else out there. It wasn't just free: it was _better_. Of course, the 'free' part helped too, but the only 'free' people cared about was as in beer, not speech. This was when Sun was charging $$$$ for C compiler licenses on top of the operating system. So you could buy Sun's cc for massive amounts of money... or get a _better_ product without having to shell out. No wonder gcc won. And if you look down the road to the 2010s, when LLVM/clang is eating gcc's lunch, you have to wonder what went wrong. What went wrong was that gcc fell behind for ideological reasons. RMS categorically refused to allow gcc's frontends to output the AST on the grounds that proprietary tools could make use gcc's output. The developers of LLVM and clang, on the other hand, had no such qualms. Being able to get an AST out of clang meant you could have IDEs compiler-assisted syntax highlighting and real-time error checking, things that gcc will never have for ideological reasons. gcc succeeded when it was better than the competition and faltered when it was worse, and freedom had nothing to do with it. |
|
RMS was wrong to have pushed back on module support for so long, but it was irrelevant. Apple wanted to be in the driver's seat, and Apple's legal department was and remains violently opposed to GPL3. And it turns out that when you're in the driver's seat you don't really need stable interfaces and you definitely don't need modules.
The competition has been good, though. I like using both compilers.