[TUHS] What would early alternatives to C have been?
Bakul Shah via TUHS
tuhs at tuhs.org
Mon Mar 10 11:31:19 AEST 2025
Criticisms of C should not be viewed as "casting aspersions". We
can't change the past but we can certainly assess the effect of
past decisions. [Not sure that would change anything though, but
we are just chitchatting!]
IMHO with C what we have is a tragedy of scale. A pleasant to use
language that worked/works well for a small group of highly competent
people with skills beyond programming doesn't work so well for
much larger groups of people with varying level of competency & skill.
Just as the informality and few implicit rules of a village doesn't
scale to large cities.
I believe Apollo's Domain/OS was implemented in Pascal. Tunis
that Greg Woods alluded to was implemented in Concurrent Euclid.
KeyKOS (a capability based system) was implemented in PL/I. Per
Brinch Hansen implemented a couple of OSes in Concurrent Pascal.
And so on. I think the original Mac OS was in Pascal?
Of course, most of these efforts came later or were on much larger
systems.
The beauty of Unix is in its relatively few but well defined
components & their composability. I wouldn't know if the design
of C had something to do with that or if it was just the pure
genius of Thompson, Ritchie and their cohorts at Bell Labs.
> On Mar 8, 2025, at 7:46 PM, Dan Cross <crossd at gmail.com> wrote:
>
> As I mentioned in the discussion about C, it's easy to look back with
> a modern perspective and cast aspersions on C. But this got me
> thinking, what would possible alternatives have been? In the context
> of the very late 1960s heading into the early 70s, and given the
> constraints of the PDP-7 and early PDP-11s, what languages would one
> consider for implementing a system like early Unix? Dennis's history
> paper mentioned a very short-lived effort at Fortran, and I asked
> about that a few years ago, but no one really remembered much about
> it; I gather this was an experiment that lasted a few days or weeks
> and was quickly abandoned. But what else?
>
> My short list included PL/1, Algol/W, Fortran, and Pascal. Fortran was
> already mentioned. I don't think PL/1 (or PL/I) could have fit on
> those machines. Pascal was really targeted towards teaching and would
> have required pretty extensive work to be usable. The big question
> mark in my mind is Algol/W; how well known was it at the time? Was any
> consideration for it made?
>
> Obviously, the decision to go with BCPL (as the basis for B, which
> beget C) was made and the rest is history. But I'm really curious
> about how, in the research culture at the time, information about new
> programming languages made its way through the community.
>
> - Dan C.
More information about the TUHS
mailing list