Philosophy of Computer Science

What Is a Computer Program?

(Boldface items are particularly useful, important, or interesting.)

Last Update: 28 September 2011

Note: NEW or UPDATED material is highlighted

(Humorous?) Definition of "Program"

What Is a Programming Language?

What Is Implementation?

  1. NEW
    Lycan, William G. (1987),
    "The Continuity of Levels of Nature", in William G. Lycan (ed.), Mind and Cognition: A Reader (Basil Blackwell): 77–96; excerpted from Chs. 4–5 of William G. Lycan, Consciousness (Cambridge, MA: MIT Press, 1987).

  2. Chalmers, David J. (1993a), "A Computational Foundation for the Study of Cognition" (unpublished).

  3. Chalmers, David J. (1993b), "Does a Rock Implement Every Finite-State Automaton?", Synthese 108 (1996): 309-333.

  4. Suber, Peter (1997), "Formal Systems and Machines: An Isomorphism".

  5. Rapaport, William J. (1999), "Implementation Is Semantic Interpretation" [PDF], The Monist 82 (1): 109-130.

  6. NEW
    Scheutz, Matthias (1999), "When Physical Systems Realize Functions", Minds and Machines 9: 161–196.

  7. Dresner, Eli (2010), "Measurement-Theoretic Representation and Computation-Theoretic Realization", Journal of Philosophy 108(6) (June): 275–292.

Are Programs Theories?

  1. Simon, Herbert A. & Newell, Allen (1956), "Models: Their Uses and Limitations", in Leonard D. White (ed.), The State of the Social Sciences (Chicago: University of Chicago Press): 66-83.

  2. The clearest statement of the idea can be found in:

    • Simon, Herbert A., & Newell, Allen (1962), "Simulation of Human Thinking", in Martin Greenberger (ed.), Computers and the World of the Future (Cambridge, MA: MIT Press): 94-114

      • "1. Computers are quite general symbol-manipulating devices that can be programmed to perform nonnumerical as well as numerical symbol manipulation.
        "2. Computer programs can be written that use nonnumerical symbol manipulating processes to perform tasks which, in humans, require thinking and learning.
        "3. These programs can be regarded as theories, in a completely literal sense, of the corresponding human processes. These theories are testable in a number of ways: among them, by comparing the symbolic behavior of a computer so programmed with the symbolic behavior of a human subject when both are performing the same problem-solving or thinking tasks." (p.97)

    • Miller, George (1962), Comments in the "Panel Discussion" on Simon & Newell 1962, in Martin Greenberger (ed.), Computers and the World of the Future (Cambridge, MA: MIT Press): 118-121

      • In these comments, Miller lists "alternative" languages for expressing theories: natural language, calculus, symbolic logic, and probability, and concludes that computer programs are more natural for psychology than any of these.

  3. Weizenbaum, Joseph (1976), Computer Power and Human Reason: From Judgment to Calculation (New York: W.H. Freeman).

  4. Moor, James H. (1978), "Three Myths of Computer Science" British Journal for the Philosophy of Science 29(3) (September): 213-222.

  5. Johnson-Laird, Philip N. (1981), "Mental Models in Cognitive Science", in Donald A. Norman (ed.), Perspectives on Cognitive Science (Norwood, NJ: Ablex), Ch. 7 (pp. 147-191):

  6. Thagard, Paul (1984), "Computer Programs as Psychological Theories", in O. Neumaier (ed.), Mind, Language, and Society (Vienna: Conceptus-Studien): 77-84.

  7. Pylyshyn, Zenon W. (1984), Computation and Cognition: Toward a Foundation for Cognitive Science (Cambridge, MA: MIT Press), Ch. 3 ("The Relevance of Computation"), pp. 48-86, esp. the section "The Role of Computer Implementation" (pp. 74-78):

  8. Johnson-Laird, Philip N. (1988), The Computer and the Mind: An Introduction to Cognitive Science (Cambridge, MA: Harvard University Press), Ch. 3 ("Computability and Mental Processes"), pp. 37-53:

  9. Partridge, Derek; & Wilks, Yorick (eds.) (1990), The Foundations of Artificial Intelligence: A Sourcebook (Cambridge, UK: Cambridge University Press).

    • Lockwood & SEL: Q335 .F68 1990

  10. Daubert v. Merrell Dow Pharmaceuticals (92-102), 509 U.S. 579 (1993).

  11. Simon, Herbert A. (1996), The Sciences of the Artificial, Third Edition (Cambridge, MA: MIT Press), Ch. 1 ("Understanding the Natural and Artificial Worlds"), pp. 1-24 [PDF].

  12. Scheutz, Matthias; & Peschl, Markus (2000), "Some Thoughts on Computation and Simulation in Cognitive Science" [PDF], in Proceedings of the 6th Congress of the Austrian Philosophical Society: 534-540.

  13. Winsberg, Eric (2001), "Simulations, Models, and Theories: Complex Physical Systems and Their Representations", Proceedings of the 2000 Biennial Meeting of the Philosophy of Science Association, Part I: Contributed Papers, Philosophy of Science 68(3) (September) Supplement: S442-S454.

  14. Coward, L. Andrew; & Sun, Ron (2001??), "Some Criteria for an Effective Scientific Theory of Consciousness and Examples of Preliminary Attempts at Such a Theory" [PDF].

  15. Peschl, Markus F.; & Scheutz, Matthias (2001), "Explicating the Epistemological Role of Simulation in the Development of Theories of Cognition" [PDF], in Proceedings of the 7th Colloquium on Cognitive Science (ICCS-01): 274-280.

  16. Lane, Peter C.R.; & Gobet, Fernand (2003), "Developing Reproducible and Comprehensible Computational Models" [PDF], Artificial Intelligence 144: 251-263.

  17. Humphreys, Paul (2002), "Computational Models", Philosophy of Science 69 (September): S1-S11.

  18. Green, Christopher D. (2004), "(How) Do Connectionist Networks Model Cognition?" (forthcoming and unpublished Ph.D. dissertation, Dept. of Philosophy, University of Toronto), Ch. 3 ("Philosophical Approaches to Explanation and Scientific Models, and Their Relations to Connectionist Cognitive Science") [.doc].

  19. Shieh, David (interviewer) (2009), "The Trouble with Computer Simulations: Linked in with Sherry Turkle", Chronicle of Higher Education (March 27): A14.

  20. Simonite, Tom (2009, August), "Soap Bubbles to Take the Drag out of Future Cars", New Scientist

  21. Turner, Raymond (2010?), "Programming Languages as Mathematical Theories" [PDF]

What Is Software?

  1. Moor, James H. (1978), "Three Myths of Computer Science" British Journal for the Philosophy of Science 29(3) (September): 213-222.

  2. Suber, Peter (1988), "What Is Software?", Journal of Speculative Philosophy 2(2): 89-119.

  3. Colburn, Timothy R. (1999), "Software, Abstraction, and Ontology", The Monist 82 (1): 3-19.

  4. Duncan, William (2009), "Making Ontological Sense of Hardware and Software".

Copyright © 2004–2011 by William J. Rapaport (