GCC is still around and kicking and competes well with the much more modern Clang that has substantial investment from Apple and other industry giants. That's an amazing achievement for a 30-year-old open source project.
GCC is still around and kicking and competes well with the much more modern Clang that has substantial investment from Apple and other industry giants. That's an amazing achievement for a 30-year-old open source project.
But using bits and pieces of your compiler is exactly what you'd want to be doing when you want to have good editor integration: eg syntax highlighting _should_ actually use the compiler instead of duplicating logic. Especially with a language that's Turing complete to even parse like C++; the logic just to figure out whether something is a type to be coloured eg blue or a variable name to be coloured eg green.
(See http://blog.reverberate.org/2013/08/parsing-c-is-literally-u...)
This industry is constantly reinventing. Clang takes a different tack in both licensing and implementation, and that’s great for everyone.
For the later: An important driver in clang are Apple and BSD communities who don't want to have GNU software (especially GPLv3) in their systems.
Also parts of gcc's architecture are created for political reasons to make it harder to decouple, while clang's primary design was to build a library which understands C/C++ and also can be used as a compiler.
The purely technical arguments (i.e. gcc has bad diagnostics and clang gives better errors) are minor (gcc, due to the competition, became way better, if equal time would have gone to gcc instead of clang it might be even better)
All that said: I really love this cooperative competition which benefits everybody, where you have different options try out ideas and where for large parts contributors discuss ideas between competing solutions.
This was a major, long standing gripe about GCC, and it materially affected its quality and usability. This was not an orthogonal matter: bad technical decisions were made in the interest of political goals.
> if equal time would have gone to gcc instead of clang it might be even better
I don't think so. GCC's position as the de facto choice for a free/open compiler, coupled with some of the political/organizational decisions of the project, made it easy for developers to say "it's good enough!" on such things. Viable competition is one of the few things that will shake a team out of that.