And speaking of ALGOL

Paul Koning paulkoning at comcast.net
Tue Aug 11 10:37:19 CDT 2015


> On Aug 11, 2015, at 11:24 AM, Chuck Guzis <cclist at sydex.com> wrote:
> 
> On 08/11/2015 07:52 AM, Paul Koning wrote:
> 
>> Yes, that was a pretty nice system.  Certainly not the first ALGOL
>> system, but a decent one even though they did put a bunch of
>> Fortran-like ugliness into the I/O.
> 
> As I recall, the I/O in the Algol-60 report was not particularly well-defined.  Pascal followed this pattern also.

It was not defined at all.  

> 
> So Burroughs could hardly be blamed.

I wouldn’t conclude that.  The natural way to do I/O in Algol is exactly what it is in C: using a set of libraries.  In fact, C is arguably no different than Algol in that I/O is not part of the base language.  The difference is that in C there came to be a fairly consistent “standard library”.

The Dutch Algol implementations use that model, and there were several different compilers that used roughly the same set of functions.  With that approach, all that is needed by way of extension to Algol is the addition of a “string” type (for literal strings, not string variables, minimally).

Burroughs however took a very different route, which is much more invasive into the underlying language, and feels a lot like a grafting of Fortran FORMAT statements onto Algol.

> 
>> PDP11 DECUS ALGOL was clearly inspired by that, it’s a subset of
>> Burroughs ALGOL and the generated code looks like a 16-bit variant of
>> B5500 machine code.
> 
> I hadn't realized that descriptors had been implemented on the PDP-11.

Not in the PDP-11 machine architecture.  DECUS Algol is a P-code implementation: the generated binary is pretty much Burroughs machine code apart from the word length, and the runtime library interprets that code.  So you see descriptors there, and B5500 style stack operations, and all that, but it isn’t native PDP-11 machine code.

> 
>> Note though that some of the discussion was about Algol 68, which is
>> a rather different language.  I don’t know that Burroughs ever did
>> anything with it, but some other companies did (CDC for one).
> 
> I don't know where Algol 68 in the CDC world came from; I am aware of no one in CPD Sunnyvale who worked on it.  Was it a VIM contribution?

No, it was a CDC product, but developed by CDC Holland (at their Rijswijk office).  Apparently it was created at the insistence of a number of CDC’s academic customers in Europe.

> 
>> “native” in what sense?  There are plenty of machines, from many
>> companies, that support block structured languages well.  The PDP11
>> and VAX are among those, as are the Burroughs mainframes, the
>> Electrologica EL-X8, and many others.  If so, they will do well at
>> Algol, Pascal, C, Modula, Ada, and so on.
> 
> Well, CDC 6600 routinely beat out IBM's iron on COBOL, even without character addressability or the capability for decimal arithmetic.

Which makes sense; it demonstrates what nearly everyone now knows, which is that RISC architecture is a very good way to design a computer.
> 
>> If you mean “native” in the sense of an instruction set tailored for
>> running Algol programs, no — in that sense, Burroughs was rather
>> unusual, though you might point at the Electrologica EL-X8 as another
>> example.
> 
> That's exactly what I mean.

I suspect part of the reason is that Algol wasn’t all that popular in the USA even if its heyday.  Add to that the fact that most computer designers weren’t all that skilled in software.  And finally, as the RISC experience has shown, it isn’t really worth it — a well designed RISC architecture supports any language well, with a simpler, faster, and more economical hardware architecture.

	paul



More information about the cctalk mailing list