From around the year 2000, musicians, visual artists and choreographers have been popping up around the world to form a community of live coders. This community uses programming languages to create live work, predominantly in the performing arts. This idea appeared from different places in various flavours, such as just-in-time programming and on-the-fly programming, although the term live coding has became standard.
But, liveness and code form an unlikely friendship. On one side, liveness is about direct, unmediated connection, in the moment. On the other, code is about abstraction, generalisation, procedures to be replayed across different timespans and media. From this perspective live coding is almost oxmoronic — liveness is about now, code is about whenever. It is no wonder that many live coders purposefully embrace error and failure — their practice runs against our understanding of what code is for.
But when we write code not to make reuseable software, but to create in the moment, it takes on a very different quality, something closer to the embodied experience of speech. Live coders can work across networks or across disciplinary boundaries, pushing against the distinction between natural and computer languages.
Live coding has developed and grown over the past 17 years into a thriving, international community, meeting to create symposia [1,2], festivals [1,2], conferences, concerts and long nights of techno. All these performances involve the act of computer programming as performance: instructions are written and modified by a human while a computer executes them. Proclaiming “show us your screens”, live coders open up the developing structure and movement behind their work by projecting their screens, so the audience can experience the code grow alongside the development of its output.
The experience of live coding is a strange one. Locked in a state of creative flow, working in a world made entirely of symbols, words and text, while simultaneously hyper-aware of the passing of time, and of the sound generated from the composition of those symbols. Hearing is a sense of touch, a way to feel the code. This is amplified further by the presence of others in the room, whose expectations you play with and respond to.
Live coding isn’t a genre, or a set of tools, but a community of diverse practices, rolling back history to look for paths not taken — stripping back the graphical user interface to find the language machine underneath. Then, not using the language to describe already-made designs but to explore live thought, externalised through language.