B programming language
The B programming language was an intermediary between BCPL and C; very roughly, it is typeless, like BCPL, but has C's syntax.
In 1969, Doug McIlroy created an implementation of TMG for the early UNIX system (on the PDP-7); this inspired Ken Thompson to produce a compiler for the machine, which started out to be FORTRAN, but rapidly became the first version of B. The B compiler was then re-written from TMG into B itself; apparently all versions produced threaded code, not object code.
Dennis Ritchie then produced a cross-compiler, also in B, which produced object code for a GE 635. (It was later moved to the Honeywell 6070, after Honeywell bought out GE's computer division.) This became quite popular (the use of threaded code in the PDP-7 version limited its efficiency, and thus use, there), especially at the University of Waterloo in Canada (where it was taken by Steve Johnson, who went there in 1972 for a sabbatical).
The later move of B (the threaded code version) to the byte-addressed PDP-11 showed the limitation of the word-addressing model of BCPL and B, and resulted in the creation of C.
One interesting historical note: the B tutorial (below) contains the first known instance of a Hello, world program.
External links
- The Programming Language B
- B compiler - a project to re-create it
Further reading
Dennis M. Ritchie, The Development of the C Language, Second History of Programming Languages conference, Cambridge, Mass., April, 1993; re-printed in History of Programming Languages-II eds. Thomas J. Bergin, Jr. and Richard G. Gibson, Jr. ACM Press (New York) and Addison-Wesley (Reading, Mass), 1996