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:


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