|
|
|
|
|
by 9rx
454 days ago
|
|
If we had the full change history you would see that it is written in B. New features were added and changes were iteratively made along the way, but it is the same codebase. Nowadays we'd pick some change point and call it B v2, but back then they named that point C. |
|
B was bootstrapped in BCPL, then rewritten in B to be self-hosting. But the transition from B to NB (New B) to C was continuous evolution. Thompson or Richie would add a feature to the compiler, compile a new compiler, then change the compiler source to use the new feature. If you did not have a sufficiently new enough B/NB/C compiler you could not compile the compiler and there was no path maintained to deal with that. You went down the hall and asked someone else to give you the newer compiler.
There also wasn't a definitive point where NB became C... they just decided it had changed enough and called it C.