Thu 6 Apr 2017 11:45 - 12:15 at D0.07 - Research Papers 4 Chair(s): Crista Lopes

Computer programs do not always work as expected. In fact, ominous warnings about the desperate state of the software industry continue to be released with almost ritualistic regularity. In this paper, we look at the 60 years history of programming and at the different practical methods that software community developed to live with programming errors.

We do so by observing a class of students discussing different approaches to programming errors. While learning about the different methods for dealing with errors, we uncover basic assumptions that proponents of different paradigms follow. We learn about the mathematical attempt to eliminate errors through formal methods, scientific method based on testing, a way of building reliable systems through engineering methods, as well as an artistic approach to live coding that accepts errors as a creative inspiration.

This way, we can explore the differences and similarities among the different paradigms. By inviting proponents of different methods into a single discussion, we hope to open potential for new thinking about errors. When should we use which of the approaches? And what can software development learn from mathematics, science, engineering and art?

When programming or studying programming, we are often enclosed in small communities and we take our basic assumptions for granted. Through the discussion in this paper, we attempt to map the large and rich space of programming ideas and provide reference points for exploring, perhaps foreign, ideas that can challenge some of our assumptions.

Tomas is a Visiting Researcher at the Alan Turing institute, working on tools for open data-driven storytelling. He is building tools that integrate with modern data sources (open government data, data published by citizen initiatives) and let users easily create analyses and visualizations that are linked to the original data source, making the analyses more transparent, reproducible, but also easy to adapt. His early work on the project can be found at http://thegamma.net.

Tomas’ many other interests include open-source and functional programming (he is an active contributor to the F# ecosystem), programming language theory (his PhD thesis on “coeffects” develops a theory of context-aware programming language language), but also understanding programming through the perspective of philosophy of science.

Thu 6 Apr

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:45 - 12:15
Research Papers 4Research Papers at D0.07
Chair(s): Crista Lopes University of California, Irvine
10:45
30m
Talk
Application Embedding: A Language Approach to Declarative Web Programming
Research Papers
David H. Lorenz Open University and Technion IIT, Boaz Rosenan University of Haifa
Link to publication DOI
11:15
30m
Talk
Profunctor Optics: Modular Data Accessors
Research Papers
Matthew Pickering , Jeremy Gibbons Department of Computer Science, University of Oxford, Nicolas Wu University of Bristol
Link to publication DOI
11:45
30m
Talk
Miscomputation in software: Learning to live with errors
Research Papers
Tomas Petricek Alan Turing Institute
Link to publication DOI