3 ms·
GCC was implemented in C and there are plenty of other C compilers written in C. GCC has been converted to C++ at some point, but large parts are still essentia
by uecker 4mo ago
GCC was implemented in C and there are plenty of other C compilers written in C. GCC has been converted to C++ at some point, but large parts are still essentially C and I do not think the change to C++ was actually helpful (but others may disagree). In any case, the idea that one needs C++ to have C compilers is certainly simply wrong.
- delta_p_delta_x 4mo agoClang/LLVM with its more permissive licence sees _much_ wider use and is written purely in C++. PlayStation, automotive, platforms and runtimes like Chromium/V8, Android, etc. are all built with Clang.
- uecker 4mo agoHow is this relevant? (also wider use for C I would doubt)
- lelanthran 4mo agoClang usage is a fraction of GCC usage. Regards, an embedded dev.
- pjmlp 4mo agoA decade ago surely, in 2026 I doubt it. With Android, iDevices, PlayStation, Switch, and everyone that had proprietary compilers down using downstream forks from clang, due to the more appealing license. Who is left still using GCC, other than existing projects lacking a clang backend for a snowflake embed CPU? In any case, if it is a modern GCC release past 2012, it was compiled with C++ as well.
- uecker 4mo agoThe license is indeed the big reason for many proprietary forks (not so much that llvm is written in C++). This is not a good thing though.
- pjmlp 4mo agoNaturally GCC was originally written in C, given its age, and the original GNU coding standards document. With time, the GCC developers acknowledged the benefits of using C++ over C, and migrated the code. GCC requires a C++ compiler to bootstrap since around 2012, and GNU coding standards has been updated to several languages beyond C, time to go up with times.
- uecker 4mo agoI think the fallacy of this argument is obvious.
- pjmlp 4mo agoNot really, given that GCC no longer compiles with a pure C compiler. Unless of course, you don't have anything to do, and feel like bootstraping GCC 16, using a compiler chain all the way back to 2012 thereabouts.
- uecker 4mo agoThe question is whether GCC is a good example of the benefits of C++ for compilers. Considering the code looks to 95% like C code and uses data structures that we originally implemented in C, I don't see this argument.
- jstimpfle 4mo agoI told him the same thing multiple times, just open a random code location in GCC, or a recently committed change, and see that it's basically C. But he keeps repeating that ridiculous argument like a broken record.
- WalterBright 4mo agoMy original C compiler was implemented in C and then bootstrapped. Zortech C++ was implemented in Zortech C, and then bootstrapped. D was implemented in "C with Classes" and then translated to D and bootstrapped. There isn't a line of C code in it. Over time, we gradually replace the C-isms and C++isms and anachronisms in it to native D-isms.