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.
Similar content being viewed by others
Notes
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.
The reader interested in details should refer to Primero (2020) itself or to the useful recap in (Primiero 2023) included in this collection.
One should go back to some side-considerations of Turing (1950) to find a previous examination of the issue of miscomputation in computer science.
Symons and Horner have a contrasting account of some of the implications of the verification problem for software intensive science (2014).
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
Cardone F (2023) On giving meanings to Programs. Global Philos 33(1):13
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
Colburn T (2000) Philosophy and Computer Science. M.E. Sharp, Armonk, NY
Cummins R (1975) Functional analysis. J Philos 72:741–764
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
Dijkstra EW (1975) Correctness concerns and, among other things, why they are resented. ACM SIGPLAN Notices 10(6):546
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
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
Floridi L (2008) The method of levels of abstraction. Mind Mach 18:303–329
Floridi L, Fresco N, Primiero G (2015) On Malfunctioning Software. Synthese 192(4):1199–1220
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
Hill RK (2016) What an algorithm is. Philos Technol 29(1):35–59
Hoare CAR (1969) An axiomatic basis for computer programming. Commun ACM 12(10):576–580
Horner JK, Symons J (2019) Understanding error rates in software engineering: conceptual, empirical, and experimental approaches. Philos Technol 32:363–378
Irmak N (2012) Software is an Abstract Artifact. Grazer Philosophische Studien 86(1):55–72
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
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
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
Moschovakis YN (2001) What is an algorithm? Mathematics Unlimited—2001 and Beyond. Springer, Heidelberg, Berlin, pp 919–936
Newell A, Perlis AJ, Simon HA (1967) Computer science. Science 157(3795):1373–1374
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
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
Rapaport WJ (2005a) Philosophy of computer science: an introductory course. Teach Philos 28(4):319–341
Rapaport WJ (2005b) Implementation as semantic interpretation: further thoughts. J Exp Theor Artif Intell 17(4):385–417
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
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
Symons J, Horner J (2020) Why there is no general solution to the problem of software verification. Found Sci 25:541–557
Tedre M (2014) The science of computing: shaping a discipline. CRC Press
Turing AM (1950) Comput Mach Intell Mind 59(236):433–460
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
Turner R (2014) Programming languages as Technical Artefacts. Philos Technol 27(3):377–397; first published online 2013
Turner R (2020) Computational intention. Stud Log Gramm Rhetoric 63(1):19–30
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
Turner R, Turner R (2018) Computational artifacts. Springer, Berlin Heidelberg
Vallverdú J (ed) (2010) Thinking machines and the philosophy of computer science: concepts and principles. IGI Global Group, Hershey
Vardi M (2012) What is an algorithm? Commun ACM 55(3):5. https://doi.org/10.1145/2093548.2093549
Author information
Authors and Affiliations
Corresponding author
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.
About this article
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
Published:
DOI: https://doi.org/10.1007/s10516-023-09704-z