Ben
I shall simply comment that for a useless language it did a lot of good, signal
processing, work for me all but 50 years ago
As an example, you could define matrix operators with parametric dimensions and write
complex matrix (Riccati) equations "naturally". The code was easy to verify, if
not efficient on sparse matrices. But, they provided a gold standard to commission the
efficient code and validate its computations.
Even now "languages" that can return dynamically dimensioned results on the heap
are a bit thin on the ground, and Algol68R took care of the garbage collection and had
better fault dumps than I have seen since.
And, the syntax was defined in BNF - just like Ada and VHDL
Martin
-----Original Message-----
From: Paul Koning via cctalk [mailto:cctalk@classiccmp.org]
Sent: 13 January 2025 21:12
To: cctalk(a)classiccmp.org
Cc: Paul Koning <paulkoning(a)comcast.net>
Subject: [cctalk] Re: Try Algol 68 on Windows
On Jan 13, 2025, at 3:57 PM, ben via cctalk
<cctalk(a)classiccmp.org> wrote:
On 2025-01-13 12:18 p.m., Brent Hilpert via cctalk wrote:
I used AlgolW on MTS at UBC in ’78 as a CS
undergrad.
Still have the textbook “FANGET AN - an algolw primer”, and my
greenbar listings (but threw out the box of batch cards some years go, lol).
I rather liked algol, the course work moved to Pascal the next year, and felt like a
downgrade.
Then I met curly-brace languages and no longer had much patience for begin-end.
This quote comes to mind.
Monty Brewster: What are you gonna vote?
Crowd: [in unison] None of the above!
The politics involved with ALGOL for 1) having a character set with no
[] but lots of the /\ \/ like characters,
Huh? Are you saying ALGOL (60) doesn't have [ ] ???
Remember that ALGOL predates ASCII. There weren't standard character sets at the
time. Also, plenty of people have implemented ALGOL on ASCII or EBCDIC machines; it's
not hard to think up a way of dealing with the keywords and operators.
2)not having a machine with ample power for recursion
and indexed data
structures.
You don't need a machine with recursion or indexing in the instruction set to
implement a language that has those features. Consider the CDC 6000 series, which are
RISC machines with no stack, no recursion, and limited indexing. There are (production
grade) ALGOL 60 AND ALGOL 68 compilers for those.
The world's first full language ALGOL-60 compiler was written for a machine without
stack or recursion, by two people in six months: the compiler for the Electrologica X-1 by
Dijkstra and Zonneveld. Oh yes, they also had to invent a whole bunch of compiler
concepts to do so, because much of what was needed hadn't been invented yet.
3) Eggheads who kept adding features, like call by
name and dynamic arrays.
Sure, though call by name is not hard to implement, and lots of languages have dynamic
arrays.
4)Student and production compilers where two different
beasts with No
standard defined IO, do to a lack of standard disc operating system calls.
Hard to have standard OS calls when OS barely exist, never mind any notion of OS
standards. POSIX didn't appear until maybe 25 years later.
really slowed use of algol type languages in
development and use.
In upgrading Algol60, Algol W and ’68 were
apparently alternatives/competitors.
Funny when the 8 and 16 bit micros hit the market, Algol seemed to vanish off the
face of the earth. Was 64KB too small a address space?
No. I have a pretty good PDP-11 ALGOL compiler that fits very comfortably in 64 kB. And
the first ALGOL 60 ran on a machine with 4 kW of memory (27 bit words).
I never liked the idea of dynamic arrays, who knows
when the heap? will overflow.
With static data it fits, or not at all.
Unless you overflow the stack. If you don't use stack-locals either, nor malloc, then
yes, that particular class of error won't happen.
paul