Skip to main content
Log in

Central Themes and Open Questions in the Philosophy of Computer Science

  • Original Paper
  • Published:
Global Philosophy Aims and scope Submit manuscript

Abstract

This paper introduces the Global Philosophy symposium on Giuseppe Primiero’s book On the Foundations of Computing (2020). The collection gathers commentaries and responses of the author with the aim of engaging with some open questions in the philosophy of computer science. Firstly, this paper introduces the central themes addressed in Primiero’s book; secondly, it highlights some of the main critiques from commentators in order to, finally, pinpoint some conceptual challenges indicating future directions for the philosophy of computer science.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Notes

  1. An early example is Rapaport’s (2005a).However, there were clearly many papers concerned with the philosophical aspects of computer science that were published before. Notable cases are Moor (1978) or Fetzer (1988), just to give a couple of examples. But it was only in the 2000s that philosophers understood their engagement with computer science as part of a distinct subdiscipline.

  2. See, for example, (Tedre 2014), followed by (Turner 2018), (Primero 2020), and (Rapaport 2023). Two previous books are Colburn (2000) and Vallverdú (2010), but they are more focused on the philosophy of artificial intelligence and only marginally on the philosophy of computer science.

  3. This paper is not intended to be an introduction of Primero’s (2020) book; for an overview of the contents of the book, the interested reader may refer to Symons and Abumusab (2021) or to Angius (2022).

  4. The reader interested in details should refer to Primero (2020) itself or to the useful recap in (Primiero 2023) included in this collection.

  5. See Symons and Horner (2014; 2020) for detailed discussions of the role of software specification in the characterization of error.

  6. For explicit applications to computer science see Searle (1990) and Putnam’s responses to the triviality objection in computational theories of mind (1987).

  7. One should go back to some side-considerations of Turing (1950) to find a previous examination of the issue of miscomputation in computer science.

  8. The issue of software error has been developed in detail by other authors, see for instance (Horner and Symons 2019; 2020).

  9. Symons and Horner have a contrasting account of some of the implications of the verification problem for software intensive science (2014).

  10. For the sake of precision, Primiero (2020) discusses simulative methods, rather than testing, when formulating his experimental foundation. Angius (2022) should be understood as an extension of Primiero’s analysis.

  11. An additional novel programming paradigm comes from automatic code generation, for instance using generative AI.

References

  • AbuMusab S (2023) Implementing a Computing System: A Pluralistic Approach. Global Philosophy 33(20)

  • Adamatzky A (2018) Unconventional Computing. A Volume in the Encyclopedia of Complexity and Systems Science, Second Edition. Encycloped. New York, NY, USA: Springer Nature 2018

  • Alvarado R (2023) Simulating Science: computer simulations as Scientific instruments, vol 479. Springer Nature

  • Ammann P, Offutt J (2016) Introduction to software testing. Cambridge University Press

  • Angius N (2022) On the Experimental Foundation of Computing. Axiomathes3(32): 1221–1236

  • Angius N, Primiero G, Turner R (2021) The Philosophy of Computer Science. The Stanford Encyclopedia of Philosophy (Spring 2021 Edition), Edward N. Zalta (ed.), https://plato.stanford.edu/archives/spr2021/entries/computer-science/

  • Brooks FP Jr (1996) The computer scientist as toolsmith ii. Commun ACM 39(3):61–68

    Article  Google Scholar 

  • Cardone F (2023) On giving meanings to Programs. Global Philos 33(1):13

    Google Scholar 

  • Caucheteux C, Gramfort A, King JR (2023) Evidence of a predictive coding hierarchy in the human brain listening to speech. Nat Hum Behav 7(3):430–441

    Article  Google Scholar 

  • Colburn T (2000) Philosophy and Computer Science. M.E. Sharp, Armonk, NY

    Google Scholar 

  • Cummins R (1975) Functional analysis. J Philos 72:741–764

    Article  Google Scholar 

  • Curtis-Trudel A (2023) Primiero on Physical Computation. glob. Philosophy 33(2)

  • Denning P, Rosenbloom P (2009) The fourth great domain of science. ACM Commun 52(9):27–29

    Article  Google Scholar 

  • Dijkstra EW (1975) Correctness concerns and, among other things, why they are resented. ACM SIGPLAN Notices 10(6):546

    Article  Google Scholar 

  • Dodig-Crnkovic G (2023) On the Foundations of Computing. Computing as the Fourth Great Domain of Science. glob. Philosophy 33(16)

  • Duncan W (2011) Using Ontological Dependence to Distinguish between Hardware and Software. Proceedings of the Society for the Study of Artificial Intelligence and Simulation of Behavior Conference: Computing and Philosophy, University of York, York, UK

  • Eden AH (2007) Three paradigms of computer science. Mind Mach 17:135–167

    Article  Google Scholar 

  • Espeholt L, Agrawal S, Słonderby C, Kumar M, Heek J, Bromberg C, Gazen C, Hickey J, Bell A, Kalchbrenner N (2021) Skillful twelve hour precipitation forecasts using large context neural networks. abs/2111.07472

  • Fetzer JH (1988) Program Verification: the very idea. Commun ACM 31(9):1048–1063

    Article  Google Scholar 

  • Floridi L (2008) The method of levels of abstraction. Mind Mach 18:303–329

    Article  Google Scholar 

  • Floridi L, Fresco N, Primiero G (2015) On Malfunctioning Software. Synthese 192(4):1199–1220

    Article  Google Scholar 

  • Fresco N, Primiero G (2013) Miscomputation. Philosophy & Technology, 26(3): 253–272

  • Gurevich Y (2000) Sequential Abstract-State machines capture sequential algorithms. ACM Trans Comput Log (TOCL) 1(1):77–111

    Article  Google Scholar 

  • Hill RK (2016) What an algorithm is. Philos Technol 29(1):35–59

    Article  Google Scholar 

  • Hoare CAR (1969) An axiomatic basis for computer programming. Commun ACM 12(10):576–580

    Article  Google Scholar 

  • Horner JK, Symons J (2019) Understanding error rates in software engineering: conceptual, empirical, and experimental approaches. Philos Technol 32:363–378

    Article  Google Scholar 

  • Irmak N (2012) Software is an Abstract Artifact. Grazer Philosophische Studien 86(1):55–72

    Article  Google Scholar 

  • Jumper J, Evans R, Pritzel A, Green T, Figurnov M, Ronneberger O, Tunyasuvunakool K et al (2021) Highly accurate protein structure prediction with AlphaFold. Nature 596(7873):583–589

    Article  Google Scholar 

  • Knuth DE (1973) The Art of Computer Programming, second edition, Reading, MA: Addison-Wesley

  • Lipton ZC (2018) The mythos of model interpretability: in machine learning, the concept of interpretability is both important and slippery. Queue 16(3):31–57

    Article  Google Scholar 

  • McLaughlin P (2001) What functions explain: functional explanation and self-reproducing systems. Cambridge University Press

  • Monk JW (2018) Deep learning as a parton shower. Journal of High Energy Physics, 2018, 21

  • Moor JH (1978) Three myths of Computer Science. Br J Philos Sci 29(3):213–222

    Article  Google Scholar 

  • Moschovakis YN (2001) What is an algorithm? Mathematics Unlimited—2001 and Beyond. Springer, Heidelberg, Berlin, pp 919–936

    Chapter  Google Scholar 

  • Newell A, Perlis AJ, Simon HA (1967) Computer science. Science 157(3795):1373–1374

    Article  Google Scholar 

  • Piccinini G, Maley C (2021) Computation in Physical Systems The Stanford Encyclopedia of Philosophy (Summer 2021 Edition), Edward N. Zalta (ed.)

  • Plebe A, Grasso G (2019) The unbearable shallow understanding of deep learning. Mind Mach 29:515–553

    Article  Google Scholar 

  • Primiero G (2020) On the foundations of computing. Oxford University Press

  • Primiero G (2023) On the Foundations of Computing: Limits and Open Issues. Forthcoming in Global Philosophy. https://doi.org/10.1007/s10516-023-09688-w

  • Putnam H (1987) Representation and reality. MIT Press

  • Rapaport WJ (1999) Implementation is semantic interpretation. The Monist 82(1):109–130

    Article  Google Scholar 

  • Rapaport WJ (2005a) Philosophy of computer science: an introductory course. Teach Philos 28(4):319–341

    Article  Google Scholar 

  • Rapaport WJ (2005b) Implementation as semantic interpretation: further thoughts. J Exp Theor Artif Intell 17(4):385–417

    Article  Google Scholar 

  • Rapaport WJ (2023) Philosophy of Computer Science: an introduction to the issues and the literature. John Wiley & Sons

  • Schiaffonati V (2020) Experimentation. The Routledge Handbook of the philosophy of Engineering. Routledge, pp 421–434

  • Schiaffonati V, Verdicchio M (2014) Computing and experiments: a methodological view on the debate on the scientific nature of computing. Philos Technol 27:359–376

    Article  Google Scholar 

  • Scott W (2016) Cowboy coding. Search software quality. TechTarget. available at https://www.techtarget.com/whatis/definition/software-development Retrieved August 24, 2023

  • Scott DS, Strachey C (1971) Toward a mathematical semantics for computer languages. In: Fox J (ed) Proceedings of the symposium on computers and automata, Polytechnic Institute of Brooklyn Press, New York, pp 19–46

  • Searle JR (1990) Is the brain a digital computer? Proceedings and Addresses of the American Philosophical Association, 64(3): 21–37

  • Sommerville I (2016) Software Engineering 10th Edition. Pearson

  • Symons J (2010) The individuality of artifacts and organisms. Hist Philos Life Sci, 233–246

  • Symons J, Abumusab S (2021) Giuseppe Primiero’s On the Foundations of Computing. BJPS Review of Books

  • Symons J, Horner J (2014) Software Intensive Science. Philos Technol 27(3):461–477

    Article  Google Scholar 

  • Symons J, Horner J (2020) Why there is no general solution to the problem of software verification. Found Sci 25:541–557

    Article  Google Scholar 

  • Tedre M (2014) The science of computing: shaping a discipline. CRC Press

  • Turing AM (1950) Comput Mach Intell Mind 59(236):433–460

    Google Scholar 

  • Turner R (2012) Machines. In: Zenil H (ed) A Computable Universe: understanding and exploring Nature as Computation. World Scientific Publishing Company/Imperial College Press, London, pp 63–76

    Chapter  Google Scholar 

  • Turner R (2014) Programming languages as Technical Artefacts. Philos Technol 27(3):377–397; first published online 2013

    Article  Google Scholar 

  • Turner R (2020) Computational intention. Stud Log Gramm Rhetoric 63(1):19–30

    Article  Google Scholar 

  • Turner R, Eden A (2008) The Philosophy of Computer Science. The Stanford Encyclopedia of Philosophy (Winter 2008 Edition), Edward N. Zalta (ed.), https://plato.stanford.edu/archives/win2008/entries/computer-science/

  • Turner R, Specification (2011) Minds & Machines 21:135–152

    Article  Google Scholar 

  • Turner R, Turner R (2018) Computational artifacts. Springer, Berlin Heidelberg

    Book  Google Scholar 

  • Vallverdú J (ed) (2010) Thinking machines and the philosophy of computer science: concepts and principles. IGI Global Group, Hershey

    Google Scholar 

  • Vardi M (2012) What is an algorithm? Commun ACM 55(3):5. https://doi.org/10.1145/2093548.2093549

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nicola Angius.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Angius, N., Symons, J. Central Themes and Open Questions in the Philosophy of Computer Science. glob. Philosophy 33, 51 (2023). https://doi.org/10.1007/s10516-023-09704-z

Download citation

  • Published:

  • DOI: https://doi.org/10.1007/s10516-023-09704-z

Keywords

Navigation