The Evolution of C: Heresy and Prophecy
by Bill Tuthill
from the January 1985 issue of Unix Review magazine
C is descended from B, which was descended from BCPL. BCPL (Basic Combined Programming Language) was developed in 1967 by Martin Richards. B was an interpretive language written in 1970 by Ken Thompson (1) after he abandoned a Fortran implementation for the PDP-7.
BCPL and B were typeless languages, which may account for the type permissiveness of C. They restricted their scope to machine words and were rather low level. However, they provided structured programming constructs similar to those in Algol. BCPL, B, and C all provide pointers and address arithmetic. All three pass function parameters by value, rather than by address, but permit passing by address if desired.