Presentation by Gonzalo Genova, HaPoC@IACAP14

The original programme of the HaPoC Symposium at IACAP14 included a talk from Gonzalo Genova (Universidad Carlos III de Madrid, España & Universidad de Santiago de Chile, Chile), titled “Intertwining of formal and empirical methods in software engineering”. Unfortunately Gonzalo was not able to attend the meeting, but he sent us a voice over slides presentation of his talk, for which we thank him! The file is available at the following link:

HAPOC Symposium @IACAP

The HaPoC symposium

On July 3, 2014 we organized a symposium during the 29th IACAP conference in sunny Thessaloniki. It was a long but satisfying day with lots of discussion. For the symposium we decided to work around three fundamental questions:

  • What are programs, algorithms, machines and how do we understand their
  • What is computing/computation?
  • What is the science in computer science?

We invited three speakers for each of these questions coming from diverse backgrounds: history, philosophy, computer science, logic and mathematics. One of our speakers, Gonzalo Genova regretfully had to cancel but we will soon post a recording of the talk he prepared for this symposium.

For the first session we had three speakers:
Ray Turner,
Wilfried Sieg and
Robin Hill.

Ray’s talk on the design and construction of computational artefacts reviewed several fundamental issues related to the ontology and epistemology of computational artefacts. Particular attention was given to the dual nature of these technological artefacts, as being both structural and functionally determined. This is a point of view inspired by the Delft school for the philosophy of technology. Wilfried Sieg, with his reflective talk on the notion of computation, went back to the historically developed notion of computability as we find it in the work of Church, Post and Turing. However, rather than entering into the existing discussions on Church’s thesis he focuses instead on general aspects of computability. These can be expressed by “axioms” for an appropriate abstract concept and a representation theorem can be established. The abstract concept is that of a computable dynamical system ; the representation theorem states that the computations of any model of the axioms can be simulated by a Turing machine. The axioms arise naturally out of a suitable generalization of the Post-Turing-Gandy developments (and not out of the Herbrand-Gödel-Kleene tradition).

Finally, Robin Hill gave a thought-provoking talk on the notion of algorithms by presenting a definition of algorithms which derives from practice rather than from theory.

During the second session,
Barry Cooper,
Nachum Derschowitz and Mate Szabo, each contributed to the fundamental question as what computation is. Despite some initial technological problems with the beamer, Barry was able to give a talk with the thought-provoking title Computing the Rainbow. Several different notions of computation were reviewed and an anti-reductionist view on the natural world, inspired by higher-type computability, was proposed. Computation is linked to embodiment and language is understood as something which reflects and maybe encompasses this structuring of the natural world into types. Nachum Derschowitz shared his views on concurrent computing in quite a dynamical and visually entertaining talk. In a vain similar to Sieg’s way of working, Nachum derives several general characteristics of concurrent computing in order to propose a model that fits into the rich research programme on unconventional models of computing. Finally, Mate Szabo highlighted the work of Emil Post by relating it to Turing’s work. He reviewed how Post in fact anticipated some of the more well-known 30s results and how, on this basis, he proposed some particular views on Turing’s thesis.

During the final session,
Ksenia Tatarchenko and
Simone Martini each offered their reflections on the computer science discipline.
Ksenia focused on two important conference in the history of computer science: the Los Alamos meeting on the history of computing organized by Metropolis and an international gathering in Urgench, Uzbekistan organized by Knuth and Ershov. Both conferences highlight how against the background of the Cold War, computer scientists from both sides of the so-called iron curtain were in fact capable of exchanging ideas, thus contributing to the formation of computer science as an international endeavor. Simone proposed a language-oriented view on computer science, proposing programming languages as the defining modelling language of computer science, with important connections to translation and abstraction levels.

We really think this was a very exciting, high-level and thought provoking meeting which, to us, shows that it is possible to bridge the gap between practitioners, historians and philosophers. Of course, the main questions “what is computing” will not have one answer, but this is exactly what allows for the richness of thought in the history and philosophy of computing.

We end this post with some open questions that came up during the discussion:

– How do we bridge the gap between the practice of computation and theoretical developments?
– Can we derive a notion of computation that encompasses both the historically fluctuating notion of computation as well as the theoretical models that we have?
– What is the ontological status of a program? Is it a technological artefact?
– How can we bridge the gap between history and philosophy of computing as conducted by professional historians and philosophers and the actual practice? And what is the best way to organize the discussion around this issue?
– Why did digital computers dominate analog computers since the late 40s and are we in need to revise this, given recent advances in natural computing?
– What is the difference in the relation between different programming languages and programming languages and machine language?

Blog for the HaPoC Community launched!

This new feature of our website is an opportunity for all registered users to post about anything they want: requests for collaboration, ideas, questions, opinion, interesting texts or images. Remember to use the Events content type for events you know about or are organizing and the Publications content type to announce any new or interesting publication. Good blogging!

An introduction to the P&T HaPoC Special Issue

After HaPoC-I held in Ghent in 2011, two Special Issues went into preparation to collect refereed contributions to the Conference and some additional contributions. The paper to be collected in the first of these issues were already published online on the website of Philosophy & Technology (Springer) for a while. Now the introduction to the same volume has been published and it is available at The bib entry is also available under our Publications tab.

Programme HaPoC Symposium at IACAP14

Thursday, 3rd July
Session 1
What are programs, algorithms, machines and how do we understand their

11.45 – 12.30
Ray Turner (University of Essex)
The design and construction of computational artefacts
12.30 – 13.15
Wilfried Sieg (Carnegie Mellon)
What is the concept of computation?
13.15 – 14.00
Robin Hill (University of Wyoming)
What an Algorithm Is: The Ante-Digital View

Session 2:
What is computing/computation?

15.00 – 15.45
Barry Cooper (University of Leeds)
Computing the Rainbow
15.45 – 16.30
Nachum Dershowitz (Tel Aviv University)
What is concurrent computing?
16.30 – 17.15
Mate Szabo (Carnegie Mellon)
Turing’s Machines and Post’s Canonical Forms.
17.15 – 17.30

Session 3
What is the science in computer science?

Ksenia Tatarchenko (Columbia University)
Computing and the Sands of Time
18.45 – 19.30
Simone Martini (University of Bologna)
Ipsa forma est substantia. Language(s) as a foundation for computer science

Gonzalo Genova (Universidad Carlos III de Madrid, España & Universidad de Santiago de Chile, Chile)
Intertwining of formal and empirical methods in software engineering
Presentation at

HaPoC Symposium at IACAP-14

It is our pleasure to announce that we will organize a HaPoC symposium during the
IACAP-14 conference.

Since the first HaPoC conference in 2011, the community of people interested in HaPoC is thriving and a large number of different events has been organized. The general spirit of these events is interdisciplinarity and openness towards different fields relevant to HaPoC, guided by a quote by Mike Mahoney that the computer is not one thing but many things and that the same holds true of computing. We were and are strongly convinced that such trans- and interdisciplinarity is necessary if one wants to reflect on a discipline such as computer science with its multidimensional nature.

The current symposium is organized in a similar manner. The programme consists of researchers coming from a diversity of backgrounds, who want to engage with topics relevant to the history and philosophy of computing. The meeting will focus on the following questions:

– What are programs, algorithms, machines and how do we understand their languages?
– What is computing/computation?
– What is the science in computer science?

Clearly, these questions can be tackled from a diversity of perspectives. For this reason, one historian, one philosopher and one mathematician/computer scientist are invited to deliver a talk for each of these three fundamental questions.


Barry Cooper (University of Leeds)
Computing the Rainbow

To what extent is philosophy computation? Is computation necessarily precise and semantically destructive? In this talk we tour various aspects of computation: Embodiment; representation; description and definition; and the roles and means of observation and control. We ask: Does computation exist without embodiment? Or without representation? What in broad terms is the relationship between description, logic and computation? And to what extent does our everyday use of natural language qualify as computation, or is it something else? How does the mathematics of information relate to this question? Can one, and should one, disentangle the computational
roles of logic and information? And is the concept of causality clarified in such a computational setting? We also look at how our attempts at answers play out in relation to the history and theory of familiar computational hosts: Biology; the brain and mentality; economics; the internet and embodiments of the classical Turing model of computation; and in regard to the physical universe itself.

Nachum Dershowitz (Tel Aviv University)
What is concurrent computing?

I will describe a model of computation, based on abstract state machines, that incorporates cooperation between components and encompasses a broad variety of contemporary parallel and distributed models.

Gonzalo Genova (Universidad Carlos III de Madrid, España & Universidad de Santiago de Chile, Chile)
Intertwining of formal and empirical methods in software engineering

What is the science in computer science? Computer Science is a very broad term that encompasses a plurality of research areas and methods, both in “pure” science and in applied science (i.e. engineering). In particular, empirical methods are not enough to account for all kinds of scientific activity in computing. In this talk I will present a three dimensional categorization of research methods in computing: formal-empirical, science-engineering, machine-human. My final focus is on the due consideration of human factors in software engineering research.

Robin Hill (University of Wyoming)
What an Algorithm Is: The Ante-Digital View

An algorithm is a human construct, a finite, abstract, mechanical and imperative control structure. Although its correspondence with the Turing Machine, also a finite abstract mechanical control structure, is widely accepted among theorists, a focus on the intuitive view reveals a full-blown conceptual object that has its own characteristics, such as the imperative form, that have no direct analogy in formal objects. Programs are the articulations of algorithms in a particular medium. The other traditional areas of philosophy―ethics, epistemology, and other questions of metaphysics―can also be applied to computer science in ways outside of the formal that remain largely unexplored, promising a greater understanding and appreciation of computation and its place.

Simone Martini (University of Bologna)
Ipsa forma est substantia. Language(s) as a foundation for computer science

Computer science shares with other disciplines concepts and methods for problem solving. Its distinctive contribution to these common methodologies is the language for doing them. What we (often dismissively)
call programming languages are powerful tools for the modeling of reality which scale at several abstraction levels. I will argue that this is one of the more pervasive contributions of computer science, and that
we can talk of programs, algorithms, and machines only at this linguistic level.

Wilfried Sieg (Carnegie Mellon)
What is the concept of computation?

The classical approach to the effective calculability of number theoretic functions led, through Gödel and Church, to a notion of computability in formal calculi and then to metamathematical absoluteness theorems. The classical approach to the mechanical decidability of problems concerning syntactic configurations led, through Turing and Post, to a notion of computability in formal calculi and then to metamathematical representation theorems. The crucial differences between the calculi used for effective calculability, respectively mechanical decidability are the background to formulating an abstract concept of a computable dynamical system. This concept articulates finiteness and locality conditions that are satisfied by the standard concrete notion of computation. In addition, a representation theorem can be established: the computations of any concrete system falling under the abstract concept can be simulated by a Turing machine.

Ray Turner (University of Essex)
The design and construction of computational artefacts

Computer scientists construct things. They construct software, computers, tablets, embedded systems, chips, type inference frameworks, natural language systems, compilers and interpreters etc. These are the technical artefacts of computer science, computational artefacts. A central activity of the subject concerns their specification, design and construction. On the face of it this is a design activity. But saying this leaves many questions unanswered. What is a good design? What are the methodologies employed in getting from function to structure? How do we evaluate them? Are some computational artefacts abstract and some physical? What is the role of mathematics in the process? What is correctness for computational artefacts? Is the latter mathematical or empirical in nature? What roles do model/theory construction and experimentation play in the activity? Do these roles justify the word science in its title?

Mate Szabo (Carnegie Mellon)
Turing’s Machines and Post’s Canonical Forms.

In 1936 Alan Turing and Emil Post independently introduced strikingly similar models of computation. Although usually Turing’s machines are used as the mathematical model of computation, in most cases they are represented as Post’s Canonical Forms. Indeed, Turing in his (1950) adopted Post’s formulation of Turing machines from his (1947) and described the notion of “logical computing machines” as a notion which was introduced by “Post (1936) and the author (1936).” The prevalent view interprets the events of 1936 as a surprising coincidence, but Davis & Sieg explain it in their (2014) as a result of a deep conceptual confluence. In my talk I will analyze this conceptual confluence on the one hand, and the different approaches Turing and Post took to the intuitive notion of computability or finite combinatory processes on the other.

Davis, Martin and Wilfried Sieg. 2014. “Conceptual Confluence in 1936: Post & Turing.” (Forthcoming) In Thomas Strahm and Giovanni Sommaruga (eds) Turing Centenary Volume. Basel: Birkhäuser.

Post, Emil. 1936. “Finite Combinatory Processes – Formulation 1.” The Journal of Symbolic Logic 1, no. 3: 103-105.

Post, Emil. 1947. “Recursive Unsolvability of a Problem of Thue.” The Journal of Symbolic Logic 12, no. 1: 1-11.

Turing, Alan. 1936. “On Computable Numbers, With an Application to the Entscheidungsproblem.” Proceedings of the London Mathematical Society, Series 2, Vol. 42: 230-265.

Turing, Alan. 1950. “The Word Problem in Semi-Groups With Cancellation.” The Annals of Mathematics, Series 2, Vol. 52, no. 2: 491-505.

Ksenia Tatarchenko (Columbia University)
Computing and the Sands of Time: from al-Khwarazm to Los Alamos.

The history of computer science was born in two famous deserts: the cradle of the atomic bomb became the first official site for memory construction in computing; and Urgench – the administrative center of the Khoresmskaia oblast’ in Uzbek SSR – a remote region known as a birth place of the medieval astronomer and mathematician Al Khwarizmi was chosen as the “eternal return” destination for all information technology specialists. While the Soviet-American detente provided a unique context that allowed for international co-creation of a common heroic origin for a new discipline, computer science, its abrupt end in 1980 with the Soviet invasion of Afghanistan contributed to the establishment of the separated national narratives that persist in the contemporary English and Russian language historiographies. In this paper I analyze two international gatherings, the 1976 conference on the history of computing hosted by N. Metropolis in Los Alamos, and the 1978 pilgrimage to Urgench organized by D. Knuth and A. Ershov, and trace multiple echoes of these events in discipline consolidation, Cold War scientific networks, and politics of remembering.

This event is kindly sponsored by the
Division of History of Science and Technology of the International Union of History and Philosophy of Science
and by the
science-and-technology/index.aspSchool of Science and Technology at Middlesex University London (UK)

Program HaPoP-2 available!

We are happy to announce that the program for the
second international symposium for the history and philosophy of programming, organised as part of the AISB 50th Annual Convention 2014 held at Goldsmiths, University of London, is now available:

Friday, April 4, 2014

Session 1: 11h-13h

11h-11.30h: Martin Loomes, Programming, Theories and Science: A Retrospective Discussion
11.30h-12h: Tomas Petricek What can Programming Language Research Learn from the Philosophy of Science?
12h-12.30h: Graham White, The Elusive Low Level
12.30-13h: Michał Tomasz Godziszewski Computational Hardness of Undecidable Sentences and Algorithmic Learnability

Session 2: 14h-15.30h

14h-14.30h: Mark Priestley, Making a place for programmers
14.30h-15h: Stephanie Mawler, Technosectarianism: Applying Religious Metaphors to Programming
15h-15.30h: John Kadvany, Panini grammar is the earliest known computing language