Abstract
In the technical literature of computer science, the concept of an effective procedure is closely associated with the notion of an instruction that precisely specifies an action. Turing machine instructions are held up as providing paragons of instructions that "precisely describe" or "well define" the actions they prescribe. Numerical algorithms and computer programs are judged effective just insofar as they are thought to be translatable into Turing machine programs. Nontechnical procedures (e.g., recipes, methods) are summarily dismissed as ineffective on the grounds that their instructions lack the requisite precision. But despite the pivotal role played by the notion of a precisely specified instruction in classifying procedures as effective and ineffective, little attention has been paid to the manner in which instructions "precisely specify" the actions they prescribe. It is the purpose of this paper to remedy this defect. The results are startling. The reputed exemplary precision of Turing machine instructions turns out to be a myth. Indeed, the most precise specifications of action are provided not by the procedures of theoretical computer science and mathematics (algorithms) but rather by the nontechnical procedures of everyday life. I close with a discussion of some of the rumifications of these conclusions for understanding and designing concrete computers and their programming languages.
Similar content being viewed by others
References
Biuso, Julia (1997), Italian Cooking, Newport Beach: C.J. Publishing.
Cleland, Carol E. (1993). ‘Is the Church-Turing Thesis True?’, Minds and Machines 3, pp. 283–212.
Cleland, Carol E (1995), ‘Effective Procedures and Computable Functions’, Minds and Machines 5, pp. 9–23.
Colburn, Timothy (1999), ‘Software, Abstraction, and Ontology’, The Monist 82, pp. 3–19.
Copeland, Jack (1998) ‘Turing's O-machines, Searle, Penrose and the Brain,’ Analysis 58.2, pp. 129–131.
Fetzer, James (1988), ‘Program Verification: The Very Idea’, Communications of the ACM 32, pp. 1048–1063.
Fetzer, James (1991), 'Philosophical Aspects of Program Verification? 'Minds and Machines 1 pp. 197–216.
Goodman, Nelson (1983), Fact, Fiction and Forecast, Cambridge: Harvard University.
Hennie, Fred (1977), Introduction to Computability, Reading: Addison-Wesley.
Kripke, S. A. (1982), Wittgenstein on Rules and Private Language, Oxford: Blackwell.
Minsky, Marvin (1967), Computation: Finite and Infinite Machines, Englewood Cliffs: Prentice-Hall.
Smith, N. K., trans., Kant's Critique of Pure Reason (V, 1), New York: St. Martins.
Turing, Alan (1939), ‘Systems of Logic based on Ordinals’, Proceedings of the London Mathematical Society series 2, 45, pp. 161–228.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Cleland, C.E. Recipes, Algorithms, and Programs. Minds and Machines 11, 219–237 (2001). https://doi.org/10.1023/A:1011251504223
Issue Date:
DOI: https://doi.org/10.1023/A:1011251504223