Programming language · 1972

C

General-purpose programming language.

Official site ›
C logo
BWritten in
1972First released
Bell LabsDeveloper
staticTyping
Built fromInfluenced C BBCPLALGOLALGOL 68FortranC++Objective-CZigGoPythonDPerlHare
BootstrapInfluence
Replacedassembly language for most systems programming
Being replaced byRust and Zig for new memory-safe systems work, though C is still everywhere

What is C written in?

C is compiled by toolchains such as GCC and Clang. Those compilers are themselves written in C and C++, so in practice C is self-hosting: a C compiler is built using an existing C/C++ compiler.

What C is used for

C is the language of operating systems, embedded devices, and the low-level machinery that everything else runs on. Its direct memory access and minimal runtime make it the default for kernels, device drivers, and language runtimes.

Notable software: the Linux and Windows kernels, SQLite, Redis, and the CPython, Ruby, and PHP interpreters are all written in C.

About C

C is a general-purpose programming language. It is a statically typed language that compiles ahead of time to native machine code. It supports imperative and procedural programming.

C first appeared in 1972 and was designed by Dennis M. Ritchie at Bell Labs. Today C is one of the most widely used programming languages in the world.

C in the language family tree

C drew on ideas from B, ALGOL, Fortran, BCPL, and ALGOL 68 and went on to influence C++, Objective-C, Ada, Python, D, and Zig.

Sources: Wikipedia · Wikidata · Official site

Quick Facts

Short answer
Compiled by GCC (C) and Clang (C++)
Created by
Dennis Ritchie at Bell Labs, 1972
Standard
ANSI C (1989), then ISO C
Role
Implementation language for most OS kernels and runtimes

Why C is the substrate of computing

C compiles directly to machine code, with no managed runtime of its own. That makes it the implementation language for operating-system kernels, language runtimes, and the compilers themselves. Many interpreters on this site, including CPython, the reference Ruby (MRI), and PHP, have runtimes written in C.

C is effectively self-hosting. A new build of GCC is produced by an existing C/C++ compiler in a multi-stage bootstrap, the same pattern used by self-hosting languages like Rust and Go.

C compilers compared

CompilerWritten inNotes
GCCC and C++GNU Compiler Collection; bootstrapped in multiple stages
ClangC++LLVM-based C/C++/Objective-C front end
TCCCTiny C Compiler; small, fast, used in bootstrap discussions

Frequently Asked Questions

What language is C written in?
C is compiled by toolchains such as GCC and Clang. GCC is written primarily in C, and Clang is written in C++, so C compilers are largely written in C and C++. C itself compiles down to machine code.
What languages influenced C?
C was influenced by B, ALGOL, Fortran among others. See the influence section above for the full list.
Which languages did C influence?
C influenced C++, Objective-C, Ada among others.
Is C self-hosting?
Yes, C is self-hosting, its compiler can compile itself.
When was C first released?
C was first released in 1972. It was designed by Dennis M. Ritchie.

Evidence Sources

Discover More

Embed this graph

Paste this iframe into any HTML page to show the C relationship graph.

<iframe src="https://www.languagelineage.org/embed?lang=c" width="100%" height="500" loading="lazy" style="border:0" title="C relationship graph"></iframe>

Please attribute the visualization to Language Lineage and link to the C source record.

Explore C in Graph →