Home / History / C (1972)

C (1972)

"Unix is Ken Thompson with an assist from Ritchie and C is Dennis with an assist from Ken." — Brian Kernighan

B Comes Before C

C traces its origins to BCPL, designed by Martin Richards at MIT, developed as an offshoot of the Multics project. When Thompson first created Unix, it was written entirely in assembly due to limited resources. Afterwards, Thompson decided Unix should have its own programming language. The solution was a stripped-down version of BCPL, called B — described by Ritchie as "BCPL squeezed to run on a computer with a meager ration of memory and filtered through Thompson's brain."

Language for New Machines

Both BCPL and B were typeless languages — they could not differentiate between different types of data. But when the PDP-11 was introduced in 1970, it could recognize multiple sizes of data objects. Ritchie capitalized on this to create "New B" (quickly renamed C) — compiled rather than interpreted, with a type system where each variable is described before use.

The Programmer's Language

With C, Ritchie fashioned in 1972 a language that made the machine's capabilities visible and usable. C was designed with skilled professionals in mind — it maps closely to the hardware while remaining portable across machines. Programs written in C could run without change on any machine that supports C.

The first C compiler appeared around 1972. As Unix grew in popularity, C was carried with it — eventually becoming one of the most widely used programming languages in history.