6
$\begingroup$

The original statement referred to by this question is:

The more I ponder the principles of language design, and the techniques which put them into practice, the more is my amazement and admiration of ALGOL 60. Here is a language so far ahead of its time, that it was not only an improvement on its predecessors, but also on nearly all its successors.

(From the appendix of a very readable report on programming language design by C. A. R. Hoare. I read that report because I wanted to ask this question, not the other way round. Reading that report made it clear to me that the original statement is even more true than I thought when I decided to ask this question.)

The intention of this question is to better understand the sociological and political aspects of the events, not the detailed technical merits. The politically accepted successors of Algol 60 (at the time) like Algol 68, PL/I or Ada were badly feature bloated, while really improved successors like Algol W or Simula were never widely used. The surviving members of the Algol language family seem to prefer naming Pascal as their great-grandfather instead of Algol, even so Pascal seems to be just another descendant of Algol. (C or Smalltalk are not descendants of Algol, because their syntax and underlying principles are too different. C++ on the other hand might be considered as a legitimate descendant of Simula, embodying many of the same underlying principles, adopting the C syntax and legacy only for political reasons to avoid the fate of the Algol like languages.)

An account of the history of types in programming languages made me realize that even the type system of Algol 60 was still quite unfinished. It seems that it would have been easy to just finish the type system and fix some other minor annoying details for the next revision of the language. But instead... ??? Most of my math books use Algol for their pseudocode, and it looks much nicer than the C pseudocode in the few books that don't use Algol. So I always wondered why Algol actually died.

$\endgroup$
  • $\begingroup$ heerdebeer.org/ALGOL/The_History_of_ALGOL.pdf $\endgroup$ – Thomas Klimpel Oct 23 '15 at 8:54
  • 2
    $\begingroup$ I find the wording in the question somewhat slanted and the question overall just written to initiate an opinionated discussion, which is not suited to the Q&A format of Stack Exchange. c.f. codegolf.stackexchange.com/a/49887/39156 $\endgroup$ – Brian Tompsett - 汤莱恩 Nov 8 '15 at 11:52
  • 1
    $\begingroup$ it seems rather "loaded"/ biased to claim that any language is an "improvement of a successor.".. at best any one could be said to have some features "ahead of their time"... $\endgroup$ – vzn Nov 8 '15 at 17:34
  • $\begingroup$ @BrianTompsett-汤莱恩 I found Hoare's statement funny, was interested in the history of Algol (and why it died), and wondered why such feature (over)loaded languages were designed at that time. The slanted language was actually my attempt to avoid an opinionated discussion, because I didn't want to hear a discussion whether Algol 68 or PL/I are bad languages. So I made it clear in which sense they are considered to be bad languages in the context of this question. (Writing a fully conforming compiler for Algol 68 or Ada is simply much more challenging that writing a fully conforming C compiler.) $\endgroup$ – Thomas Klimpel Nov 8 '15 at 18:00
  • $\begingroup$ re: Algol68 "bloated" ... This meme appears to have been born in 2000 from Andrew Ferguson (not byte.com) ... "This history was written in the spring of 2000 when I was in eighth grade." .... cf. cs.brown.edu/~adf/programming_languages.html ... note that the Algol68 Spec is 256 pages long, vs the "easy to read" C99's (ISO/IEC9899) page count of 554. $\endgroup$ – NevilleDNZ Jan 26 '16 at 2:05
4
$\begingroup$

I always felt like the reason is expressed by Alan Kay in his OOPSLA 1997 keynote, when he talks about Dijkstra's paper. I am not taking sides here but the tension expressed there seems to be prevalent in politics of CS, when it comes to Europe vs America. Algol represents European way of doing CS, and really most of the code was written in America. So no one really wrote any big system in Algol, thus it died.

But, I am an outsider to both cultures so, take this with a huge grain of salt. Also I know that Algol 60 designers included American computer scientists as well. All in all, this is just how I feel about it, no strong arguments here.

$\endgroup$
2
$\begingroup$

I remember a mathematician in the nineteen sixties said to me that the ALGOL60 Report could be read and understood in the time of consuming a couple of cups of coffee in an afternoon. But look at the ALGOL68 Report and the latest version of the ISO PL/I standard! What a big difference! To program well in practice, one should be able to competently consult these official documents in cases of need. I am quite sure that even today the majority of those having studied CS in the universities wouldn't find the said two documents an easy reading. On the other hand, at least decades ago, a large number of programmers in practice aren't CS graduates.

$\endgroup$
  • $\begingroup$ re: For an "Algol68 Guide", try C. H. Lindsey and S. G. van der Meulen. Informal Introduction to ALGOL 68. North-Holland, Amsterdam, The Netherlands, revised edition, 1970..1977. ISBN 0-720-40504-1. AND Frank G. Pagan. A Practical Guide to Algol 68. Wiley Series in Computing. John Wiley and Sons, London, England, 1976. ISBN 0-471-65746-8. The actual Algol68 Spec is more of a Compiler Writer's Guide (inc. exact semantics) and probably should not be used Programmer's Guide. $\endgroup$ – NevilleDNZ Jan 26 '16 at 2:18
  • $\begingroup$ @NevilleDNZ: But then what was the equivalent of the Algol60 Report? (Lindsey's book was (entirely) informal (and incomplete), as it's title said. $\endgroup$ – Mok-Kong Shen Jan 26 '16 at 9:05
  • $\begingroup$ Included in the Original Algol68 of 1968 is a double sided double column A5 card of the "Alphabetic listing of metaproduction rules" ... this would be the closest you get to "Backus–Naur form" on a card ... A68 report uses "Van Wijngaarden grammar", which is (further to BNF) a 2-level grammar that allows the inclusion of semantic rules as well, these rules are in the body of the 218 page report, together with example code for each rule, and plain English description of the semantic. Also: Sec-10 Included is the complete source to the stdio library, followed by Sec-11 with 11 example programs. $\endgroup$ – NevilleDNZ Apr 28 at 9:18
2
$\begingroup$

It is probably hard to accurately answer a question about history, especially without access to the proper sources. Not sure whether this answer is primarily opinion based, or rather just guesswork.

This article about the history of Algol contains some interesting information, that the Algol committee was unable to form a consensus, and ended with a minority report and the adoption of Algol 68 basically accepting the proposal by Adriaan van Wijngaarden.

However, the Dutch wikipedia article on Adriaan van Wijngaarden says

Hij stond tevens aan het hoofd van de werkgroep die de programmeertaal Algol-68 ontwikkelde.

and the German wikipedia article on Adriaan van Wijngaarden says

Durch seine Arbeit als Leiter des ALGOL-68-Komitees leistete van Wijngaarden einen profunden, wenngleich erst spät beachteten, Beitrag zum Gebiet des Entwurfs, der Definition und der Beschreibung von Programmiersprachen.

So both article claim that he was actually the head of the working group that developed the programming language Algol-68. This puts the fact that the committee was unable to form a consensus, and that it adopted the language that he proposed into a more dubious light.

$\endgroup$
  • $\begingroup$ Seems that wikipedia is wrong on this (or I misinterpreted it), and Willem van der Poel was that official chairman the working group that developed the programming language Algol-68 (see references to original documents in en.wikipedia.org/wiki/IFIP_Working_Group_2.1) $\endgroup$ – Thomas Klimpel Nov 11 '15 at 9:47
  • $\begingroup$ The 3 key Algol68 reports: Draft Report, AvW(Editor), BJM, JELP, CHAK => Final Report A. van Wijngaarden(Editor) Mailloux, B. J., Peck, J. E. L., Koster, C. H. A. => Revised Report - "Edited by:" A. van Wijngaarden, B.J. Mailloux, J.E.L. Peck, C.H.A. Koster,M. Sintzoff, C.H. Lindsey, L.G.T. Meertens and R.G.Fisker. ... AvW was also 1 co-Author to the 2 Naur Algol60 reports. $\endgroup$ – NevilleDNZ Jan 26 '16 at 2:51
  • $\begingroup$ re: "unable to form a consensus" ... There were 25 voters on the "Algol68 Final Report" vote where the report was formally adopted, of these 25 voters, 7 voters subsequently signed and filed a "Minority Report". Note: 2 earlier potential voters had earlier resigned. $\endgroup$ – NevilleDNZ Jan 26 '16 at 3:14
  • $\begingroup$ @NevilleDNZ: To my knowledge there was later an initiative to have Algol68 become an ISO standard but failed. $\endgroup$ – Mok-Kong Shen Jan 26 '16 at 9:14
  • $\begingroup$ 1984: TC97 considered Algol 68 for standardisation as [TC97/N1642] DE, BE, NL, USSR and CZ/SK were willing USSR CZ/SK ["were not the right kinds of member of the right ISO committees"]archive.ph/http://archive.computerhistory.org/resources/text/…) ... it was (after all) in the middle of the cold war and moon race!! :-( $\endgroup$ – NevilleDNZ Apr 28 at 8:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.