[pups] bringing up the fist C compiler

Lars Brinkhoff lars at nocrew.org
Fri Sep 6 18:56:07 AEST 2002

Warren Toomey <wkt at minnie.tuhs.org> writes:
> The chist paper doesn't mention NB, which was the missing link between
> B and C.

How about this?

  In 1971 I began to extend the B language by adding a character type
  and also rewrote its compiler to generate PDP-11 machine instructions
  instead of threaded code.  Thus the transition from B to C was
  contemporaneous with the creation of a compiler capable of producing
  programs fast and small enough to compete with assembly language.  I
  called the slightly-extended language NB, for `new B.'


  After creating the type system, the associated syntax, and the
  compiler for the new language, I felt that it deserved a new name;
  NB seemed insufficiently distinctive.  I decided to follow the
  single-letter style and called it C, leaving open the questing
  whether the name represented a progression through the alphabet or
  through the letters in BCPL.

> I seem to recall a story where there was an NB interpreter and also
> a compiler, and Ken kept adding functionality to one which made it
> slower, and this had a knock-on effect.

Maybe this?

  After the TMG version of B was working, Thompson rewrote B in itself
  (a bootstrapping step).  During development, he continually struggled
  against memory limitations: each language addition inflated the
  compiler so it could barely fit, but each rewrite taking advantage
  of the feature reduced it size.

Lars Brinkhoff          http://lars.nocrew.org/     Linux, GCC, PDP-10,
Brinkhoff Consulting    http://www.brinkhoff.se/    HTTP programming

More information about the TUHS mailing list