On 16/02/2025 04:24, Steve Lewis via cctalk wrote:
I'm not very familiar with ALGOL, but just today I met someone at VCF who
has essentially built a replica of the LGP-30 (in FPGA form, more on that
to come down the road, but it is a system from 1955/1956).  Then related to
that, two different people mentioned to me of an early ALGOL compiler being
available for the LGP-30.  I don't know if that was of a form to be
considered any kind of "block structure" as you mentioned.

I had the impression from talking to people (quite possibly Tony Hoare, but I don't want to put words in his mouth) that Algol was not, initially, a programming language - it was a structured English to express algorithms. As such it was natural for academics to try and make their computers understand it, whether it was practical or not.

This is relying on my memory of conversations that took place decades ago, and the opinion of whoever I was as taking to. But it does fit the evidence. Firstly there were multiple dialects of Algol - just like things like UML. It didn't crystallise until Algol 60 (and then only loosely). Secondly, at the time it first showed up there wasn't a computer available with the power to run it. As people have pointed out, there were instances of people implementing subsets on machines with a drum store. Pioneering stuff indeed.

Without evidence otherwise, I believe all of these student Algol implementations to be interesting research rather than practical high level languages. I'd be happy to hear of any evidence otherwise - in other words third-parties using them from real-world application programming.

As to the Librascope Algol 30 written it Dartmouth, I'm sure it was wasn't a full implementation. It probably did include BEGIN/END (I'd love to see some examples) but there was a lot of stuff that was very tricky to implement and most "tiny Algol" implementations missed most of it off.

Incidentally, I'm very sure that Algol 58 was the first language to implement the BEGIN...END structure. The DO element was also new, but dropped (and the keyword repurposed) in Algol 60. Otherwise 58 was a subset of 60.

Reply via email to