DS08 - Sociétés innovantes, intégrantes et adaptatives

What is a program? Historical and Philosophical Perspectives – PROGRAMme

Submission summary

What is a program? Given the broad use of software apps across our lifes, one would expect that such a basic and fundamental question has been answered long ago because we need a notion of program if we want to decide on issues such as the patentability of software or responsability when a software-driven robot erronously kills a baby. Regretfully, there is no unique answer to this basic question but a broad diversity of approaches. The main hypothesis of this project is that this diversity reflects a deeper characteristic of programs, namely, the fact that they have different “modalities”. As a symbolic text, it has a mathematical and linguistic modality – a formal modality for short; as something that is stored and executed by a machine, it has a physical modality; and as something that is made and used by people it has a socio-technical modality. As such, our notion of “program” is rooted in these three modalities and any understanding of “program” needs to incorporate each of them and account for their relations. From this hypothesis, this project aims at developing the first coherent analysis and pluralistic understanding of “program” using a combination of historical insights and philosophical analyses. This allows to retrace the different meanings of “program” through its own history and by so doing identify and render transparent the different understandings and practices underpinning “program”. This will make it possible to (re)-construct the fundamentals of “programs”, which liberate rather than restrict the meaning of program. This project thus requires historical, philosophical and computer science competencies and is interdisciplinary by nature, as reflected in the team which will consist of 25 regular researchers, one Postdoc, a PhD student and a contracted researcher.
The three different modalities of “program” have an ordered relation with respect to one another: the formal modality stands in between the physical and socio-technical modalities. It has developed out of the need to cross the gap between humans and machines and so it implies the two other modalities, implicitly or explicitly. Moreover, the formal modality is traditionally the locus of foundational research. The aim of this project is to understand how the formal modality accommodates the two other modalities, viz. how it functions as a technique which accounts for the properties and needs of the two other modalities. More particularly, the project will focus on models and their abstractions as they are developed, used and applied within different relevant practices. We identify four main clusters of practices and their respective models and modelling to be studied, viz.:
1. Immaterial foundations: models developed in a formal and mathematical practice. Examples are Turing machines and constructive type theory.
2. Machines: models developed in the context of computing machinery. Examples are: EDVAC model, restricted Boltsmann machines, finite-state machines.
3. Programming languages and notations: models developed in the context of programming language design. Examples are: (typed) lambda-calculus, Post production systems.
4. Software systems: models developed in the context of practices which develop larger software systems like operating systems. Examples are: pi-calculus; temporal logic.

In summary, this project will offer a historically-anchored study of the limits, fundamentals and invariants of models and their abstractions. On that basis, it becomes possible to extract those (properties of) models which have turned out to be essential both in the theory and practice of programs and so derive a pluralistic analysis of the notion of “program” which is (1) realistic in that it is rooted in a serious historical study displaying the complex interactions between theories and practices of “program” and (2) systematic in that it offers a structured typology of models that takes into account the three different modalities of “program”.

Project coordination


The author of this summary is the project coordinator, who is responsible for the content of this summary. The ANR declines any responsibility as for its contents.



Help of the ANR 291,237 euros
Beginning and duration of the scientific project: January 2018 - 48 Months

Useful links

Explorez notre base de projets financés



ANR makes available its datasets on funded projects, click here to find more.

Sign up for the latest news:
Subscribe to our newsletter