C: is it just another descendant of ALGOL?

rcd at opus.UUCP rcd at opus.UUCP
Wed Mar 14 17:24:50 AEST 1984


<>
 > ...I must say I *do* think C is
 > different in kind from other ALGOL-descended languages...
C isn't really an ALGOL-descended language.  Its grandfather, BCPL, is an
interesting language, quite unique in a number of respects.  (Consider that
an untyped language won't let you have polymorphic operators...)  Among
other things, BCPL is untyped, which explains the fact that C may look as
if its sense of data typing is evolving.  In order to understand C, it is
useful (tho not necessarily sufficient) to understand BCPL.  Literature
discussing BCPL is a little hard to find - I'm guessing that it was
something developed by/for people who DO software rather than TALK about
it.  But look under Martin Richards, probably in the late-60's/early-70's
time frame.

One of the interesting aspects of BCPL is that the language and its
compiler were both designed to be portable - it was one of the earliest
reasonably-successful experiments in a portable SIL.  This puts the
following comment in a curious light:
 > C was created with a
 > specific machine model in mind, and the intention that ON MACHINES CONFORMING
 > TO THAT MODEL all language constructs would be extremely efficient to
 > implement at the machine level...
Also compare, from the beloved blue&white C book (Kernighan & Ritchie) the
statement that C "...is not tied to any particular hardware or system..."
It certainly helps to have a byte-addressable machine, of course, though
even that isn't necessary.  I think that C deserves a lot of credit for
generality...
-- 
{hao,ucbvax,allegra}!nbires!rcd



More information about the Comp.lang.c mailing list