C.mdwn (1745B)
1 **C** is a general-purpose programming language created in the 1970s for the system programming needs of the [[Unix]] operating system. 2 3 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. 4 5 Compiled C code is generally quite resource-efficient. The speeds of compiled languages are often compared to C. 6 7 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: 8 9 * [[Nim]] 10 * [[V]] 11 12 Interpreted languages implemented in C: 13 14 * [[Lua]] 15 * [[Perl]] 16 * [[Ruby]] 17 * [[Python]] 18 19 As a language, C has many problems that subsequent languages have tried to fix with varying degrees of success. Examples of such languages: 20 21 * [[C++]] 22 * [[Objective-C]] 23 * [[D]] 24 * [[Go]] 25 * [[Rust]] 26 * [[Nim]] 27 28 Compilers: 29 30 * GCC 31 * Clang 32 * [[Zig]] has a C/C++ compiler that produces much smaller binaries (even static ones) than the mainstream GCC and Clang toolchains. 33 * [Open Watcom](http://www.openwatcom.org/) is a C/C++/Fortran compiler usable for targeting legacy x86 operating systems such as [[DOS]]. 34 * [Tiny C Compiler](https://bellard.org/tcc/) is a small (100+ KB) standalone C compiler for "modern" x86 and ARM targets (i.e. [[Linux]] but not [[DOS]]). 35 * [vbcc](http://www.compilers.de/vbcc.html) is an optimizing C99 compiler particularly suitable for some legacy targets such as [[68000]] and [[6502]]. 36 * [cproc](https://sr.ht/~mcf/cproc) and [other compilers](https://c9x.me/compile/users.html) based on [the QBE compiler backend](https://c9x.me/compile).