At 12:10 AM 5/11/2005, Tom Jennings wrote:
> As far as sophistication goes -- a better measure than simply how
> clever or nifty a thing is -- how far did it advance the state of
> the art? Good Algol's in the early 1960's look like stuff robbed
> from the far-flung future. [...]
> Algol had it's share of horrors, but man it is the basis for
> nearly all modern languages.
On Wed, 11 May 2005, John Foust wrote:
Links for the intrigued... the report:
http://www.masswerk.at/algol60/report.htm
and an implementation for MS-DOS and CP/M, with source examples:
http://www.angelfire.com/biz/rhaminisys/algol60.html
Speaking as that voice from the future, reading ALGOL
makes
me say "You don't want to do it that way." GOTO had not yet
been exorcised. Did I see a computed goto, where the expression
calculates the label? Eeek.
Oh yeah, it has !TERRIBLE! features in it! Computed gotos are one
of the more amusing, and some of the side effects of it are just
plain bizarre.
But the scoping, for example, is pretty well accepted, though
Algol had some strange features, such as visibility of names in
blocks "upward" (I think it is).
I'm not claiming algol to be superior in any way (one item though,
dynamic evaluation is pretty neat), I'm not a 'in the past,
everything was better! TTL > CMOS!' person, specifically I was
observing that as a change/improvement in the then-current
state-of-the-art, Algol was the most successful failed language
ever.
(Computing program labels, as a floating number, with automatic
conversion to integer before execution, has got to one-up the IBM
FORTRAN 3-way branch on the silliness list. At least that fit a
hardware feature.)
But you have to feel for the poor bastards, trying to work out
these issues where you don't even have a character mapping you can
rely on. All the quoting/escaping bizarreness, that the unix Algol
interpreter a60 supports. Ugh.
Certainly it was a step forward,
but we've also learned a lot since then. When people complain
that computer languages haven't changed much, remind them
of the stuff that's fallen out of recommended practice.