Hacker News new | ask | show | jobs
by saidajigumi 2402 days ago
Beyond licensing, there are software design/architectural issues at play, ala:

Clang is designed as an API from its inception, allowing it to be reused by source analysis tools, refactoring, IDEs (etc) as well as for code generation. GCC is built as a monolithic static compiler, which makes it extremely difficult to use as an API and integrate into other tools. Further, its historic design and current policy makes it difficult to decouple the front-end from the rest of the compiler.

via https://clang.llvm.org/comparison.html, with more points for/against each option at that page.

1 comments

You can see a bit of the gcc monolith and the llvm approach battle it out within the policy of what gets added to Emacs - https://lwn.net/Articles/632773/