6 comments

[ 2.0 ms ] story [ 25.1 ms ] thread
This paper is mostly obsolete but contains this wonderful and famous comment on 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.
Of all the languages at the time only LISP was better, Algol 60 was probebly more practical. (John McCarthy was working on Algol too)
(comment deleted)
That's all to do with the headline. Purely psychologically, I wouldn't care about a CS paper from 1973 (decades before I was even born) regardless of its quality or pertinence. On the other hand, something written by a famous computer scientist attracted my attention immediately.
I disagree that the paper is obsolete. References and pointers abound in nearly every popular modern programming language [C, C++, Java, C#, PHP, Python, Ruby, EcmaScript, etc.] and in fact are the defining feature of all OO languages. Operator overloading is only possible in a small fraction of popular modern programming languages. Fast compilation is not even a focus of most popular modern programming languages. Type inference and automatic coercion, declaration, and defaults are in vogue in most programming languages. Also, programming languages are increasingly large and complex. Compiler optimization is likewise a hot-spot topic, as are gotos/jumping and global and out of block variable definitions.

It would seem to me that if his hints and assumptions are correct that language designers may have inhibited the growth of programming; though a programmer that knows her/his language of choice can and does take advantage of all of the inefficiencies described in this paper.

I'm really beginning to realize that the functional languages probably have it right: single value assignment; recursive function execution; compact, readable code; monads; guards; readable case statements; and narrow interfaces seem to satisfy a lot of what he recommends. Most OO languages definitely do not, although I love the expressiveness I have learned to achieve by exploiting their nuances.