Keynote talk: Varieties of Programming Experience
Programming language researchers often take an evolutionary view - the early days of “formula translation” (FORTRAN), “data processing” (COBOL) and “algorithm specification” (ALGOL), followed by more sophisticated declarative approaches of logic and functional programming, the simulation and modelling approaches of object-orientation, and the demonstration and inference approaches of recent program synthesis research. However, in reality, there are still programmers working in all these styles. This talk therefore takes a “synchronic” approach to comparative linguistics, rather than assuming a “diachronic” evolutionary progression. In drawing on the study of human language, we pay particular attention to the diverse ways that people express themselves, and the experiences that they have in doing so. Those who seek one true language, whether in programming or human communication, often do so with the intention to advocate one particular way of thinking and working. An alternative to the true-path approach is to assume a diverse range of human psychological needs, as in William James’ classic Varieties of Religious Experience, which stepped away from theological debate to ask what people actually do in their everyday practices. It seems unlikely that any of declarative, algorithmic, mathematical, or inferential languages are appropriate to all people and all tasks. All of these languages are primarily intended to serve human needs - this talk aims to understand what those are.
Alan Blackwell is Professor of Interdisciplinary Design at the University of Cambridge Computer Laboratory. Originally trained as a control engineer, his early career in industrial automation soon led to an interest in programming as a technical user interface. He implemented his first visual programming language in 1983 (an antecedent of Harel’s StateCharts) for specifying control of a cement batching plant in his hometown Wellington. Subsequent projects included a real-time expert systems language used to implement emergency response systems that now run on the trains of London Underground’s Central and Jubilee lines. After delivering his first conference keynote on programming language design in 1995, he realised that he knew nothing about the scientific causes that made one programming language more usable than another, so left his role as design lead of novel end-user programming languages at Hitachi to study for a PhD with Thomas Green at the MRC Applied Psychology Unit in Cambridge. Since becoming an academic, he and his team have contributed to the design of programming languages, tools and techniques at companies around the world, including Microsoft, Google, Intel, Nokia, Sony, AutoDesk and many others.