Nearby lessons

3 of 124

C - History

The history of the C language — from ALGOL and BCPL to Dennis Ritchie's 1972 creation at Bell Labs, the K&R book, and the ANSI/ISO standards C89, C99, C11, C17 and C23.

The Family Tree of C

C did not appear from nowhere. It is the last step in a chain of languages, each one trimming the previous one down to something simpler and faster:

YearLanguageCreated byContribution
1960ALGOL 60International committeeIntroduced block structure and structured programming
1963CPLCambridge & London UniversitiesCombined Programming Language — powerful but too large
1967BCPLMartin RichardsStripped CPL down for systems programming
1970BKen ThompsonSimplified BCPL for early UNIX; had no data types
1972CDennis RitchieAdded data types and structures to B
In simple words: B could only handle machine words. Ritchie added int, char, float and struct — and that upgrade is what turned B into C.

C and UNIX — Born Together

In 1969 Ken Thompson and Dennis Ritchie were building UNIX at Bell Laboratories, originally in assembly language. Assembly had a fatal flaw: it only worked on one machine, so moving UNIX to new hardware meant rewriting everything.

Ritchie designed C to solve exactly that problem. In 1973 the UNIX kernel was rewritten in C — the first time a major operating system had been written in a high-level language. Suddenly UNIX could be moved to a new computer by writing a new compiler instead of a new kernel.

Trainer's Note: This is why C is called a portable language, and why "write once, compile anywhere" was C's promise long before Java's "write once, run anywhere".

K&R C — The First Standard (1978)

In 1978 Brian Kernighan and Dennis Ritchie published The C Programming Language. The book was so widely used that the dialect it described became the unofficial standard, known forever as K&R C.

It also gave programming its most famous first program:

Example03
CCode Cell
1#include <stdio.h>
2 
3main()
4{
5 printf("hello, world\n");
6}
Output
hello, world

The Official Standards

By the mid-1980s different compilers accepted slightly different C, so a formal standard was needed. Each revision added features while keeping old code working:

StandardYearAlso calledKey additions
ANSI C1989C89 / C90Function prototypes, void, the standard library
C991999// comments, bool, long long, declare-anywhere variables
C112011Multithreading, anonymous structures, safer library functions
C172018C18Bug fixes only — no new features
C232024true/false keywords, typeof, binary literals
Watch out for old textbook syntax. Books written before C89 use main() with no return type and old-style parameter lists. Modern compilers warn about both. Always write int main() in new code.

The Legacy of C

C's syntax — curly braces, semicolons, if/else, for loops — was inherited by almost every language that followed: C++ (1983), Java (1995), JavaScript (1995), PHP (1995), C# (2000), Go (2009) and Rust (2010).

Learning C therefore gives you a head start in all of them. More than fifty years after its creation, C remains in the top handful of most-used languages in the world.

📝 Key Takeaways
  • C was created by Dennis Ritchie at Bell Labs in 1972.
  • Its ancestors are ALGOL 60 → CPL → BCPL → B → C.
  • C was written to build the UNIX operating system.
  • The 1978 K&R book was the first de-facto standard.
  • ANSI C (C89) was the first official standard; C99, C11, C17 and C23 followed.

🧠 Test Your Knowledge

4 Questions
Progress: 0 / 4