
Algol 68 - pplonski86
https://mraths.org.uk/?page_id=2862
======
ggm
I did a Fortran 74 course in 76 and we touched on algol 68 and I was a giant,
colossal mind fuck. Call by name, call by value, call by references... Give me
back my giant global section and begone!! What is this code as arguments
stuff. Recursion? That's the devil's music!!!

I wish I'd stuck with it.

~~~
benj111
Wouldn't Fortran have been the better choice long term?

Fortran is still used in the sciences. Algol not so much.

Plus you know, Algol is a gateway drug, who knows where you'd have ended up :P

~~~
coldtea
> _Fortran is still used in the sciences. Algol not so much._

That's only because almost everything mainstream today has 80%+ of Algol in
disguise. C, Pascal, Python, Java, Kotlin, JS, Go...

[http://wiki.c2.com/?AlgolFamily](http://wiki.c2.com/?AlgolFamily)

Case in point (even if the author has second thoughts):
[http://cowlark.com/2009-11-15-go/](http://cowlark.com/2009-11-15-go/)

~~~
benj111
Agreed, but then most modern languages have 80%+ of all pre 1980 languages.

~~~
KineticLensman
Ermm - Haskell and Cobol?

~~~
benj111
Well I did say most!

Didn't Cobol have quite good data structures for the time???

I haven't really used either, so I'm not best placed to make the case.

Having just read the wikipedia page on Cobol. The Cobol metalanguage looks
quite a lot like Haskell, so maybe that.

------
userbinator
_They astounded the attendees – who had made estimates of up to 100 man-years
to implement the language, using up to 7 pass compilers – when they described
how they had already implemented a one-pass compiler which was in production
use in engineering and scientific applications._

It reminds me of the story of how Donald Knuth wrote an early ALGOL compiler
by himself, in 3.5 months:

[https://news.ycombinator.com/item?id=2856567](https://news.ycombinator.com/item?id=2856567)

~~~
coldtea
And of course today someone can write one (with some modern tools like parser
generators and llvn) in a couple of weeks or so.

------
howard941
From FreeBSD's ports collection: "The Algol 68 Genie project preserves Algol
68 out of educational as well as scientific-historical interest, by making
available Algol 68 Genie; a recent, well-featured implementation written from
scratch." It's GPL.

WWW:
[http://www.xs4all.nl/~jmvdveer/algol.html](http://www.xs4all.nl/~jmvdveer/algol.html)

------
saurik
[http://www.cowlark.com/2009-11-15-go/](http://www.cowlark.com/2009-11-15-go/)

------
open-source-ux
I strongly recommend this talk by software consultant and author Kevlin Henney
called _Procedural Programming: It 's Back? It Never Went Away_

He talks a bit out Algol 68 and how influential it was on programming language
design. Many language keywords we're familiar with today originated in the _50
year old_ language specification for Algol 68: int, bool, skip, void, struct.

Here's the snippet from the talk about Algol 68 - it's brilliant:
[https://youtu.be/otAcmD6XEEE?t=554](https://youtu.be/otAcmD6XEEE?t=554)

------
gwern
> They astounded the attendees – who had made estimates of up to 100 man-years
> to implement the language, using up to 7 pass compilers – when they
> described how they had already implemented a one-pass compiler which was in
> production use in engineering and scientific applications...The ALGOL 68-R
> compiler was initially written using the RRE ALGOL 60 compiler including
> extensions for address manipulation and list processing but stripped out of
> features such as real number handling which made it more suitable and more
> focused on compiling a compiler.

Dropping any kind of real or float support sounds like a major issue for
scientific use; did the users simply have to express everything as fixed-point
integers? What else did they simply drop to get their subset/prototype
working?

~~~
abecedarius
I think that refers to the language the new compiler was written in, not the
one it implemented.

------
baybal2
My informatics teacher was big fan on Niclaus Wirth. Unexpectedly, ~15 years
down the line, remembering her functional programming maxims came handy when
dealing with Golang. I found languages are sharing some vibe.

~~~
wirrbel
Just to make sure "functional programming" or "structured programming"?

~~~
baybal2
I'm not sure myself after those years, but it felt like functional
programming.

Golang is not much about functional programming than say JS from my personal
impression, but it felt like it had some attempts to follow it in its
foundation.

In the end, it failed to realise the original though of Wirth - "with clear
separation of functions and inputs, every program turns into a spreadsheet"

~~~
microtherion
That does not really sound like Wirth, who never was involved in functional
programming as far as I can tell and was not a big fan of spreadsheets.

Wirth always was insistent that programs should strive to be transparent about
the computational effort involved in an action, so I can't imagine him being
fond of e.g. Haskell.

~~~
wirrbel
I think wirth did however like to distinguish between procedures and
functions. Not functional in todays meaning of the word, but similar in
spirit.

~~~
microtherion
Yes, there were functions in Pascal, but that's the smallest part of
functional programming.

------
boulos
Seems like the title should be “World’s First Algol 68 Compiler”.

------
SagelyGuru
I still have that Algol68-R User's Guide on my shelf and remember to this day
the excitement that gripped me when I learned from it about REFs. I went on to
implement my final year project in it, which was considered by all concerned
to be a crazily risky thing to do.

The only thing that matched it for excitement was connecting for the first
time to a "live" remote computer through a teletype and that thing actually
typing things back at me.

