Skip to content

Instantly share code, notes, and snippets.

@conal
Last active August 27, 2022 16:54
Show Gist options
  • Save conal/d578f9b47648338e3527 to your computer and use it in GitHub Desktop.
Save conal/d578f9b47648338e3527 to your computer and use it in GitHub Desktop.
John Backus on denotation for design

From section 9 of John Backus's 1977 Turing Award lecture Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs:

Denotational semantics and its foundations provide an extremely helpful mathematical understanding of the domain and function spaces implicit in programs. When applied to an applicative language (...), its foundations provide powerful tools for describing the language and for proving properties of programs. When applied to a von Neumann language, on the other hand, it provides a precise semantic description and is helpful in identifying trouble spots in the language. But the complexity of the language is mirrored in the complexity of the description, which is a bewildering collection of productions, domains, functions, and equations that is only slightly more helpful in proving facts about programs than the reference manual of the language, since it is less ambiguous.

...

Thus denotational and axiomatic semantics are descriptive formalisms whose foundations embody elegant and powerful concepts; but using them to describe a von Neumann language can not produce an elegant and powerful language any more than the use of elegant and modern machines to build an Edsel can produce an elegant and modern car.

@conal
Copy link
Author

conal commented Mar 27, 2015

Without the denotational discipline, we lack even the mental lens through which to notice unfortunate choices. One cannot even see the missed target and so cannot improve one's aim.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment