At Sun, 9 Mar 2025 18:58:14 -0400, Clem Cole <clemc(a)ccc.com> wrote:
Subject: [TUHS] Re: What would early alternatives to C have been?
I find where the C standard folks falling into the C++ trap and letting
people pee it. CC++ is a disaster ― primarily because everyone added their
favorite feature. That's while I like Go for applications work, and if I
were to do OS (near the HW development) today and not use C, I would have
to consider Rust.
Perhaps Rust gets/deserves its name from the corrosion caused by
everyone peeing into it too. For me it's way too much of a kitchen sink
of what seem to me to be half-baked ideas.
W.r.t. Unix history, and any alternatives to C, well I did mention TUNIS
a bit ago, and the fact it was implemented in Concurrent Euclid. That's
quite a bit later than the first C though.
I would guess though that even its parent, Euclid, which came along a
little earlier, would still have been too late to have been useful for
early Unix. It's mostly just another Algol derivative anyway. It did
have some big funding from the military in the early days, but look
where that got it.
I think one of the most loved innovations C (and B just before it)
brought to programming languages was the use of braces instead of
begin/end, along with the elimination of some of the other extra
unnecessary keywords like "then". These syntactical changes made
programming a lot more fun for many of us. I for one dreaded having to
use Pascal, or heaven forbid PL/1, after I got used to C just because of
the wordy syntax alone (I was still too inexperienced at the time to
appreciate BWK's criticisms of Pascal). I had the "fun" experience of
learning BASIC and a bit of Pascal in high school, then being thrown
into Pascal, C, PL/1, and lisp, all as learning languages, in first
year (the first two on Unix, the second two on Multics).
Which reminds me, wasn't there was some mention of difficulties with
Pascal et al w.r.t. separate compilation earlier in this thread....
Wasn't that one of the features of Berkeley Pascal? I know separate
compilation is a definitely a feature by the time it makes it to
SunOS/Solaris-2. I remember trying to figure it out once for a class
assignment and the TA scowled at me and asked me why on earth I would
ever want to do that, so I never trusted that TA on programming
languages, or much of anything else, ever again.
Proper and elegant and simple modules for a systems programming language
would seem a pre-requisite these days though. Preprocessors and headers
be gone!
--
Greg A. Woods <gwoods(a)acm.org>
Kelowna, BC +1 250 762-7675 RoboHack <woods(a)robohack.ca>
Planix, Inc. <woods(a)planix.com> Avoncote Farms <woods(a)avoncote.ca>