The emperor's old clothes

  title={The emperor's old clothes},
  author={Charles Antony Richard Hoare},
  journal={Commun. ACM},
  • C. Hoare
  • Published 1981
  • Computer Science
  • Commun. ACM
The 1980 ACM Turing Award was presented to Charles Antony Richard Hoare, Professor of Computation at the University of Oxford, England, by Walter Carlson, Chairman of the Awards Committee, at the ACM Annual Conference in Nashville, Tennessee, October 27, 1980. Professor Hoare was selected by the General Technical Achievement Award Committee for his fundamental contributions to the definition and design of programming languages. His work is characterized by an unusual combination of insight… Expand
Dijkstra's Rallying Cry for Generalization: The Advent of the Recursive Procedure, Late 1950s-Early 1960s
Some early contributions of Dijkstra are described by elaborating on his involvement in putting forward and implementing the recursive procedure as an ALGOL60 language construct and his generalizing style of solving problems. Expand
Technical opinion: on the perils of programming
With the unbelievable rise in personal computing and wide acceptance of inexpensive, userfriendly operating systems and productivity tools, programming may have lost its place as a major activity inExpand
Commenfs, and Debate
Olivetti started in Ivrea when founder Carlo, papa of the famous Adrian0 and nonno of Rob-erto, began building typewriters there. At the end of the 1950s Roberto Olivetti, best-known member of theExpand
The Advent of Recursion & Logic in Computer Science
It will be shown that several ideas from logic that did influence some computer pioneers, were primarily received indirectly and without full comprehension. Expand
Laws of Programming: The Algebraic Unification of Theories of Concurrency
I began my academic research career in 1968, when I moved from industrial employment as a programmer to the Chair of Computing at the Queen’s University in Belfast. My chosen research goal was toExpand
Busting out of crystallography's Sisyphean prison: from pencil and paper to structure solving at the press of a button: past, present and future of crystallographic software development, maintenance and distribution.
  • L. Cranswick
  • Mathematics, Medicine
  • Acta crystallographica. Section A, Foundations of crystallography
  • 2008
Unless a sufficient body of people continues to dismantle and re-build programs, the knowledge encoded in the old programs will become as inaccessible as the knowledge of how to build the Great Pyramid at Giza. Expand
Algol in France: From Universal Project to Embedded Culture
  • P. Mounier-Kuhn
  • Engineering, Computer Science
  • IEEE Annals of the History of Computing
  • 2014
This article provides an analysis of the main French actors involved in the global Algol endeavor--small groups of computer scientists who became interested in this project, appropriated it, and participated in its evolution, either within academic laboratories, R&D departments of computer companies, user organizations, or learned societies. Expand
The ACM position on standardization of the Ada language
The ACM has asked that the Programming Language Ada specification not be given American National Standard status at this time, and the full text of the ACM vote under the "canvass process" of the ANSI follows, interleaved with the response from the U.S. Department of Defense Ada Joint Program Office. Expand
Concepts, Techniques, and Models of Computer Programming
This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound and allows programmer and student to grasp the underlying unity of programming. Expand
Ada education is a moving target
Programming, as it is practiced in most American companies today, has remaine d virtually unchanged for at least twenty years, and the level of software quality improves when efforts are made to prevent errors from entering a piece of software, rather than trying to remov e the errors via debugging. Expand


Toward a mathematical semantics for computer languages
The purpose of a mathematical semantics is to give a correct and meaningful correspondence between programs and mathematical entities in a way that is entirely independent of an implementation. Expand
Reduction languages for reduction machines
This paper describes a particular realization of a Lambda-Red language as a machine language that resembles a higher level programming language, but it is "variable-free": expressions are named, not boxes which contain expressions. Expand
An axiomatic basis for computer programming
An attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics by elucidation of sets of axioms and rules of inference. Expand
Programming language semantics and closed applicative languages
This paper proposes axioms to define a sequence of language-classes; the most general is that of "programming language", the most restricted has some simple and attractive properties. Here "language"Expand
GEDANKEN—a simple typeless language based on the principle of completeness and the reference concept
The functional approach to data structures and the use of references insure that any process which accepts some data structure will accept any logically equivalent structure, regardless of its internal representation. Expand
The Mechanical Evaluation of Expressions
It is shown how some forms of expression in current programming languages can be modelled in Church's X-notation, and a way of "interpreting" such expressions is described, which suggests a method of analyzing the things computer users write. Expand
A new interpreter for data flow schemas and its implications for computer architecture
A new interpreter for a data flow language is presented that magnifies the apparent asynchrony and speed of data flow, and it does so by (quite literally) exchanging blocks of processors for slices of time. Expand
Models for Various Type-Free Calculi
Publisher Summary This chapter discusses models of various type free calculi. The range of arguments or range of values of a function should consist wholly or partly of functions. The derivative, asExpand
Outline of a Mathematical Theory of Computation
However, Scott does realize that the approach argued for above is simply an argument for an approach that accomodates human understanding of computation and that the operational approach must not beExpand
A lazy evaluator
A different way to execute pure LISP programs is presented. It delays the evaluation of parameters and list structures without ever having to perform more evaluation steps than the usual method.Expand