strangest systems I've sent email from

Paul Koning paulkoning at
Fri Apr 29 15:24:31 CDT 2016

> On Apr 29, 2016, at 4:12 PM, Noel Chiappa <jnc at> wrote:
> Oh, another factor that led to success for C, I suspect: I/O is not in the
> language, it's handled by optional subroutine libraries. This made it very
> easy for compilers/etc to produce language for stand-alone systems. Compare
> PL/I, which needed a large subroutine library to run on bare hardware.

Then again, the lack of standard I/O is often held as the reason that ALGOL 60 failed. 

> ...
>> Algol 68 has both pointers and structures.
> Yeah, but Algol-68 never did much (although it had a certain amount of
> influence). Why, I'm not certain - I suspect the fact that it was fairly
> complex had something to do with it, but I expect its biggest problem was
> that a number of _very_ respectd people from its committee denounced it
> roundly (whether their reasons were good or bad, I can't say).
> Tony Hoare's Turing lecture, "The Emperor's Old Clothes", recounts a lot of
> that. (That's the source of the famous quote about "there are two ways of
> constructing a software design: One way is to make it so simple that there
> are obviously no deficiencies and the other way is to make it so complicated
> that there are no obvious deficiencies." He was talking about Algol-68,
> there.)

Algol-68 was a marvel of simplicity compared to PL/I, but yes, when you compare it with ALGOL-60 or Pascal, it's certainly a beast.  The language is probably not that big a problem; it was after all implemented on a variety of machines, some rather small.  (PDP-11, for example, at least a large subset.  And CDC built a commercial compiler for it.)  The notation in the standard was rather challenging.  Not as bad as Vienna Definition Language, but still, harder than BNF.  A lot more powerful, too.  

As for influence: Stroustrup refers to it as a source of inspiration for C++, which is pretty clear when you look at C++ i/o stream operators.

I still remember the scorching I got from Dijkstra when I (innocently) mentioned Algol-68 to him.  He wasn't anywhere near as polite as Hoare.

>> So does Pascal.
> Which didn't have a lot of the capabilities needed to be system language at
> _that point in time_ (remember, this is about 'why did C succeed, back then');
> it was, after all, originally designed as a pedagogical language.

Pedagogical language?  I'm not sure.  BASIC, yes.  But Pascal I believe was a serious language.  I learned it in one week, and used it to build a code generator for a compiler in a compiler construction class.  We originally used PL/1 there (the Cornell implementation) but had to stop because it was utterly unreliable, and switched to PDP-10 Pascal instead.  Worked great.


More information about the cctalk mailing list