← Back to context

Comment by pjmlp

2 days ago

Like implementing the compilers used by C devs.

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.

  • My 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.

  • Clang/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.

  • Naturally 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.