3 ms·
Can someone explain to me what all the hubub is about. As far as I understand it and even as RMS himself states, isn't this mostly about them trying to block cl
by arca_vorago 12y ago
Can someone explain to me what all the hubub is about. As far as I understand it and even as RMS himself states, isn't this mostly about them trying to block clang/LLVM tie ins to the debugger more than anything else?
I don't understand whats with all the gcc sucks attitude these days. It's worked for quite some time, and yes it's showing some age due to the lack of development so it has lagged behind others, but we should all be worried when people very influential in the GNU community start talking about why GCC is bad.
I don't like this line of thinking at all.
If GCC is behind, fork it and do what needs to be done to make it competitive.
- phkahler 12y ago>>Can someone explain to me what all the hubub is about. As far as I understand it and even as RMS himself states, isn't this mostly about them trying to block clang/LLVM tie ins to the debugger more than anything else? The "problem" RMS has with llvm is its non-copyleft license. And yes, the issue is that he doesn't want to support llvn with GNU tools. When LLVM started they used GCCs front end to compile C code until their own matured enough. So parts of GCC were being used to develop the middle and back ends of llvm. The LLVM ecosystem is systematically replacing the GNU toolchain with non-copyleft licensed versions and RMS does not want to support that in any way. >> I don't understand whats with all the gcc sucks attitude these days. It's worked for quite some time, and yes it's showing some age due to the lack of development so it has lagged behind others, but we should all be worried when people very influential in the GNU community start talking about why GCC is bad. I don't understand it either. GCC is still a great compiler. Developers seem to prefer the modular design of LLVM and they're probably right in that. Users like some of the features enabled by that design as well - IDE integration and cross compilation come to mind. GCC is starting to move, but slowly. >> I don't like this line of thinking at all. >> If GCC is behind, fork it and do what needs to be done to make it competitive. You make it sound like there are lots of compiler developers with time on their hands for open source development AND who share the licensing philosophy AND are unhappy with GCCs development path. Apparently there are not.
- Htsthbjig 12y ago"I don't understand it either. GCC is still a great compiler. Developers seem to prefer the modular design of LLVM and they're probably right in that." There are lots of things that are simply very hard to do with GCC, but are easily doable with LLWM. IDE integration is just one, because it has the ability to compile just lines(at least the Apple's version). Things we have done with LLVM: Millions of mollecules 3D paths' rendering. Automatic testing of software and hardware. Simulation of military vehicles doing all kinds of things. Digital crash test. Natural language(speech) understanding. Before LLVM doing all this took years, now it takes months or weeks. This exploits the ability of understanding languages of a compiler, but is not just compiling c or c++ like gcc does.
- arca_vorago 12y agoCould you please expand on what particular features of LLVM enabled you to do this in months/weeks instead of years (presumably with gcc)?
- Htsthbjig 12y agoLLvm was created with a different philosophy from GCC. It fact it started being a GCC add on. Llvm uses his own debugger. It is just RMS realizing people are abandoning GCC en masse, and not liking it. Just that. LLVM wanted to develop it on ways that gcc people did not, so they created something from scratch, after trying to modify GCC because it was so complex. It is not simply a fork, but a complete redesign. LLVM main advantages are: Instead of being a monoblock compiler like gcc, LLVM is a series of inter operable libraries and tools. This way you can program your own different compilers, or parsers, or debuggers just including libraries. The above means you don't need to use scripts like in gcc but you can actually program a compiler very easily. You also don't need to use the linker if you just want a parser. Or you don't need the parser if you already have stored or computer generated an Abstract syntax tree. It uses his own cross platform "assembly" code so you can use it with dozens of different languages, or compile dozens of different languages. It compiles to bytecode. It makes portable code possible, programming GPUs on the fly, javascript... You can use it for whatever you want, even making closed source software.
- boomlinde 12y agoWhy should that worry me? To me, that indicates that there are people interested in addressing the issues.