Live programming, livecoding, cyberphysical programming and on-the-fly programming, are all names that have been used to variously describe a programming practice that places a strong emphasis on a programmers ability to interact, via source code, with a running system. Although the ability to modify a program's execution by modifying its source code on-the-fly is not a new one, new tools and new ideas are reshaping what it means to program ``live''.



In this talk Andrew will explore notions of time, liveness, feedback and procedural orchestration, as they relate to the practice of live programming. Examples drawn from both the Arts and the Sciences will be used to demonstrate how live programming works in practice and what possible future directions might be entailed. Andrew's examples will be coded live using his own Extempore programming language; a high-performance systems language, designed for live programming down to the metal.



Andrew Sorensen is an artist-programmer whose interests lie at the intersection of computer science and creative practice. Andrew is well known for creating the programming languages that he uses in live performance to generate improvised audiovisual theatre. He has been invited to perform these contemporary audiovisual improvisations around the world. Andrew is the author of the Impromptu and Extempore programming language environments.