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. See the embed guide for parameters and sizing.

Spot something wrong?

Every fact on this page is meant to be checkable. If one is wrong, say so and it becomes a dataset change, not a patch to this page.

Goes to a public GitHub issue for review. Nothing you write appears on this site.

Explore C in Graph →