BCPL

BCPL, the Basic Combined Programming Language, was designed by Martin Richards while he was at the University of Cambridge and the MIT Project MAC. Richards intended it primarily as a tool for writing compilers and other systems software, a purpose announced in the title of his 1969 paper, “BCPL: a tool for compiler writing and system programming,” presented at the Spring Joint Computer Conference.

The language’s defining simplification is that it has only one data type: the binary bit pattern, called a word. There is no separate notion of integers, characters, or pointers at the type level; the meaning of a word depends on how the program uses it. This made BCPL small and easy to port to new machines, at the cost of putting more responsibility on the programmer.

Richards’s reference manual describes BCPL as a language designed to be simple to compile and to run on machines of modest size, which is exactly what made it attractive for systems work in an era of limited memory. BCPL was used to write compilers and was carried to many different computers.

Its lasting importance is its lineage. At Bell Labs, Ken Thompson adapted BCPL into a stripped-down language called B, and Dennis Ritchie then evolved B into C. The typeless, machine-oriented spirit of BCPL runs straight through to the systems languages that followed.