I am very happy to announce the publication of two books from two PROGRAMme members.
The first book is the long-awaited basic book on the philosophy of computer science by Ray Turner. Ray is one of the founders of the philosophy of computer science, both through his efforts within the IACAP community to establish a track on the philosophy of computer science, as well as through his well-known SEP entry on the philosophy of computer science which is now co-authored by Nicola Angius and still available here: https://plato.stanford.edu/entries/computer-science/.
Ray’s book is a great example of how insights from different fields are needed in order to develop a deeper reflection on the computer science field which is of value not just to philosophers but also to the computer science community itself. The book’s title is “Computational artifacts. Towards a philosophy of computer science”. It refers to Ray’s effort to connect the following fundamental ontological question of computer science which, in the past, as often given rise to a variety of fierce debates on the nature of computer science:
what “are” the “things” of computer science?
with insights from (analytical) philosophy of technology. This allows him to explain and argue from the dual nature of computational objects as having both structural and functional properties. They are technical artefacts. But the analytical framework offered by the philosophy of technology does not suffice to fully capture computational artefacts, but also requires insights from the philosophy of mathematics. More specifically, whereas programs and computations are computational artefacts from the perspective of being physically implemented, the process of constructing a symbolical program from its specification is a rule governed mathematical activity. Bridging the mathematical aspects of computational “things” with their technological side through the relevant philosophies is one of the great achievements of this book. A must-read not just for philosophers but, perhaps, first of all, for computer scientists. A more detailed review will follow later.
The second book that appeared is by philosopher, software engineer and historian Mark Priestley who also wrote the first serious book on the history of computer programs. His latest book titled Routines of substitution. John von Neumann’s work on Software development 1945-1948, engages deeply with the early years of computer programming and, more specifically, with the evolution in von Neumann’s work from 1945-1948 in this context.
It starts out from a detailed analysis of the earliest known example of a routine written by von Neumann, viz. to `mesh’ two sequences of data and intended to be part of the larger program known as mergesort and then broadens its perspective ultimately engaging with the very fundamental and controversial topic of subroutines as discussed by von Neumann an Goldstine in the famous but often not well-read report on flow diagrams and subroutines and considered one of the first texts on computer programming. Rather than following popular myths, both positive and negative, Mark instead made the effort to reread well-known texts and connected them with previously unknown or hardly known texts in order to offer a historical reading of von Neumann’s work in this context put in its proper context. This allows him to develop a more coherent and correct view on von Neumann’s view on the planning and coding of problems. One basic outcome is the central role played by substitution which is something that directly connects von Neumann’s work on programming to a tradition of mathematical logic where the notion of substitution played a central role.