C is a general-purpose programming language created in the 1970s for the system programming needs of the Unix operating system.
The main benefit of C is that it is ubiquitous and quite mature. There are C compilers for nearly any imaginable processor architecture, and relatively old code often compiles quite well.
Compiled C code is generally quite resource-efficient. The speeds of compiled languages are often compared to C.
There are also languages whose compilers can produce C code to be compiled by a C compiler. These languages thus benefit from the optimization features and platform support of the C compilers:
Interpreted languages implemented in C:
As a language, C has many problems that subsequent languages have tried to fix with varying degrees of success. Examples of such languages:
Compilers:
- GCC
- Clang
- ?Zig has a C/C++ compiler that produces much smaller binaries (even static ones) than the mainstream GCC and Clang toolchains.
- Open Watcom is a C/C++/Fortran compiler usable for targeting legacy x86 operating systems such as DOS.
- Tiny C Compiler is a small (100+ KB) standalone C compiler for "modern" x86 and ARM targets (i.e. ?Linux but not DOS).
- vbcc is an optimizing C99 compiler particularly suitable for some legacy targets such as ?68000 and ?6502.
- cproc and other compilers based on the QBE compiler backend.