22 June 2018 - Alan Blackwell: Seminar
Do Programming Languages need Designers?
A programming language is a user interface. Like any other user interface, it can be designed to include or exclude particular classes of user, and to assist or resist particular types of activity. But unlike other user interfaces, the expressive power of language allows users to be generative - instructing their computers not only to do the same thing, but new kinds of things. The inclusive design of programming languages is thus a political project, not simply the mathematical enquiry that many textbooks and conferences dedicated to programming languages apparently assume. This talk presents an activist agenda, in which design is taken to be the starting point for programming language research.
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.