Hacker News new | ask | show | jobs
C. Hoare: Hints on programming language design (1973) [pdf] (flint.cs.yale.edu)
30 points by hazelnut-tree 1061 days ago
3 comments

Also regarding language design, C.Hoare on language safety, with am indirect jab to C, in his 1980's Turing Award speech.

"Many years later we asked our customers whether they wished us to provide an option to switch off these checks in the interests of efficiency on production runs. Unanimously, they urged us not to--they already knew how frequently subscript errors occur on production runs where failure to detect them could be disastrous. I note with fear and horror that even in 1980, language designers and users have not learned this lesson. In any respectable branch of engineering, failure to observe such elementary precautions would have long been against the law."

=> I note with fear and horror that even in 1980, language designers and users have not learned this lesson.

Two prior discussions:

https://news.ycombinator.com/item?id=3241241 - Nov 16, 2011 (5 comments)

https://news.ycombinator.com/item?id=10102860 - Aug 22, 2015 (25 comments)

Preface to the paper:

"This paper must clearly be read in the context of its date of composition (1973). The relative weight of comment on debugging and reasoning about programs clearly changed as a result of his own later research. Also, a richer notion of types would be appropriate today. But the sound advice in this paper transcends any minor aspects in which it might be considered to be out of date."

Discussed in the paper:

- Simplicity

- Security

- Fast translation

- Efficient object code

- Readability

- Comment conventions

- Syntax

- Arithmetic expressions

- Program structures

- Variables

- Block structure

- Procedures and parameters

- Types

- Language-feature design

OO was already invented and Simula 67 is even referenced in the paper, but not yet recognized or understood in its significance; the claim about Algol 60 ("an improvement .. on nearly all its successors") is pretty bold.
Not following the deduction--the 60 in Algol 60 refers to 1960. Simula was influenced by and implemented in Algol 60.
And in what respect does this contradict my statement? The paper appeared in 1973.

(By the way: Simula 67 was mostly influenced by Simula I; both Simula versions are an extension of Algol 60; with some minor exceptions Algol 60 is a subset of Simula 67 - as later Stroustrup did it with C and C++).