I asked BWK if he had any thoughts about possible alternative
languages. Here is his response, forwarded by permission.
Arnold
Date: Sun, 9 Mar 2025 08:27:57 -0400 (EDT)
From: Brian Kernighan <bwk(a)cs.princeton.edu>
To: arnold(a)skeeve.com
cc: crossd(a)gmail.com, Brian Kernighan <bwk(a)cs.princeton.edu>
Subject: Re: An interesting history question
Dan raises an interesting question. I don't have a good answer,
but there are possibilities.
Typeless languages like BCPL were in the air; Bliss, from CMU in
1970, was a significant example, used mostly on the PDP-10 but it
could run on a PDP-11. It was definitely a contender for doing
systems work.
I used MAD in the summer of 1966 at MIT and remembered it as being
much nicer than Fortran, though when I looked at a description a
while ago, it wasn't clear what the attraction was.
Bell Labs (Doug McIlroy and Bob Morris, mostly) made a PL/I subset
called EPL that was at least compilable and a lot easier to manage
than the full language. I don't know whether that would have
worked, but it would seem that Ken didn't think so, since he went
off on his own direction. Doug would know more; he sent me some
corrective info a month ago, on the errata page here:
https://www.cs.princeton.edu/~bwk/memoir.html
Fortran would have needed major work to handle non-numeric data.
I wrote a text formatter in it by hacking with the Logical*1 type;
that let me handle one character at a time by basically lying,
though I've long since forgotten the details.
Pascal was hopeless, as I have described elsewhere, though
variants that repaired some of the type system might have worked.
The US military used Jovial; it sounds like it's still sort of in
use, since it handles the avionics in a lot of planes. It looks
like a direct descendant of Algol 58.
I never used Algol/W, but of all the options, it seems like it
might have been the strongest contender.
Xerox PARC had Mesa, but my dim memory is that it was big and
complicated, which is the opposite of what was needed at the time.
It also came along too late, mid to late 1970s. It did influence
Java and Modula-2, says Wikipedia.
HOPL 1 includes papers on other languages of the time, most of
which would not have worked, and/or have died by now. There's a
lot of history, and I have no idea how to get on top of it all.
But still interesting to look at and speculate about.
Brian
On Sat, 8 Mar 2025, arnold(a)skeeve.com wrote:
Hi Brian.
Any thoughts on this?
(cc-ing Dan, the original poster)
Thanks,
Arnold
From: Dan Cross <crossd(a)gmail.com>
Date: Sat, 8 Mar 2025 22:46:58 -0500
To: TUHS <tuhs(a)tuhs.org>
Subject: [TUHS] What would early alternatives to C have been?
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.