>>>
Apropros of not much, but to ensure
this is on-topic, I never hear B or BCPL
mentioned, the ancestors of C, and even 'closer to the machine'.
<<<<
B is certainly very little known nowadays. I think the only compiler that
had
much circulation was that for GCOS (and possibly Multics?) on the big
GE/Honeywell mainframes. I think that compiler came from the University
of Waterloo. When we (at City University, London) had a Level 66 system
we wrote almost all of our utilities in B (the Honeywell tradition was to
use the assembler, GMAP - but we only ever wrote 3 modules in that ...
the 3 modules that were necessary for control of access and accounting).
I think a truly honest appraisal of the origin of C would be more complex
than BCPL -> B -> C.
For a start BCPL was a simplified version of CPL intended for systems
programming;
B is best seen as taking PL/I and transforming it in the same way as CPL
became BCPL
(ie take out any expensive implicit conversions and anything else that
needed massive runtime)
B and BCPL were ideal for word-oriented machines, but the arrival of
character-addressing
made them somewhat clumsy and so C essentially became a rewrite of B for
such.
So I would include PL/I in C's family tree.
[also many people knew how to do semi-system-dependent tricks in Fortran for
system
programming and C - in its K&R form - gave these people similar
opportunities]
CPL, incidentally, was intended as a successor to Fortran IV and Algol 60
combining
"the best features" of both, just as PL/I was similarly trying to replace
Fortran, Cobol, and Algol 60.
Algol 68 was a different attempt to provide an "Algol with fewer mistake"
but the pendantry of
the precision of declarations was enough to put most people off.
Oh, and we don't talk about ADA (!) :-)
Andy
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.11.2/931 - Release Date: 01/08/2007
16:53