What is a computer program? Historical and philosophical reflections

What is a computer program? This seemingly simple question, which lies at the heart of computer science, has no simple answer today, neither in academia nor in industry. The responses one gives to it affect very real problems which concern not just the so-called (everyday) User but anyone (scientists, programmers, children, politicians, managers, artists, mathematicians, etc) who relies on computing for some reason. Some examples are: who is responsible if a given piece of software fails? and should we apply patent or copyright law or neither to software?

The aim of this talk is to develop this question from a more historical and philosophical angle. It will be argued why we need to take this question seriously and how, ultimately, it results in the need for an approach which crosses disciplinary boundaries in a non-trivial manner. The argument will be substantiated with several historical cases to show how some of the most basic assumptions we tend to make are incorrect.

THIS TALK IN THREE WORDS

Epistemology

Computer programs

Crossing boundaries

OBJECTIVES

To show the need for more history and philosophy in programming.

TARGET AUDIENCE

Anyone who cares for basic reflection.