strangest systems I've sent email from
paulkoning at comcast.net
Fri Apr 29 15:24:31 CDT 2016
> On Apr 29, 2016, at 4:12 PM, Noel Chiappa <jnc at mercury.lcs.mit.edu> 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,
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