3 ms·
> Lol, it was to move away from GPL tooling GPL was a factor, but Apple didn’t move to LLVM just to avoid open-sourcing their tools (in fact, they’ve open-sour
by NobodyNada 7y ago
> Lol, it was to move away from GPL tooling
GPL was a factor, but Apple didn’t move to LLVM just to avoid open-sourcing their tools (in fact, they’ve open-sourced nearly all of their LLVM-backed tooling). GCC is not very extensible and difficult to integrate into other tools (and IIRC Stallman rejected patches that tried to change this because he didn’t want non-GPL tools to be able to interact with GCC). Clang/LLVM on the other hand has a very modular design that enables e.g. seamless IDE integration for syntax highlighting/code completion (see https://en.wikipedia.org/wiki/Clang#Design https://en.wikipedia.org/wiki/Clang#Design).
The flexibility of LLVM is evident if you look Apple’s programming language history: a few years after hiring Chris Lattner and moving to LLVM, Apple developed Xcode 4 (which included massive improvements to the source editor because of Clang integration), quite a few extensions to Objective-C (such as automatic reference counting), LLDB, the Metal shading language, and Swift. Most of these projects are open source.
That being said, I agree with your conclusion that the author seems to be trying to prove “Apple is the best”.
- pcwalton 7y agoIt's because of the GPL3 and the "tivoization" clause. Apple was stuck on GCC 4.2, the last GPL2 version, for a very long time because subsequent versions made the move to GPL3. LLVM and Clang were the way Apple could move past having an obsolete toolchain.