home/ modules/ live-coding-as-performance-foundations

Live coding as a performance practice

  • learner can describe the immediate-feedback / perception loop that defines live coding
  • learner can position a set on the improvised↔pre-composed and blank-slate spectrum
  • learner can explain how projecting code makes thinking public and the map generate the territory

Perform a 3-minute from-blank-slate improvisation for one listener, narrating aloud how each edit closes the feedback loop, then write a short reflection classifying where your set sits on the improvised-to-pre-composed spectrum.

This module turns “I can make my editor beep” into a first real performance. The whole task is a three-minute improvisation from an empty buffer, played for one actual listener — the smallest honest version of what happens at an algorave or TOPLAP-style gig, where the screen is projected and the audience watches the set being written. Any environment you already have running (Tidal/Strudel, Sonic Pi, Glicol, SuperCollider) is enough rig; the point is the practice, not the tool.

The arc starts private and supported. First, rehearse the perception loop deliberately: before every evaluation, use the predict-imagine-run-diagnose cycle (imagine the sound before pressing Run) and say out loud what you expect versus what you hear. That drill makes the write → run → listen → respond cycle articulate, so narrating it live later is describing something you actually do. Next, do timed blank-slate sketches with no audience, leaning on the process-first stance — start from a seed and follow where it leads — and on the map/territory idea that you cannot read your code until you run it. Finally, add the witness: performing for one listener while thinking aloud is the unsupported capstone, a miniature of code projection making thinking public.

The required atoms are exactly what the capstone cannot be done well without: the feedback-loop concepts gate the narration, the blank-slate, process-over-plan, and improvised-versus-pre-prepared spectrum atoms gate both the performance constraint and the written reflection, and the performance, improvising-composer, and thinking-in-public framings gate playing for a witness at all. The supporting atoms enrich rather than gate — crash culture, notation theory, instrument-versus-DAW directness, scene history, and tool-landscape context that deepen the reflection but are not needed to complete it.

Atoms in this module

Required — these gate the capstone

Live coding elevates programming to a central performance act by modifying algorithms in real time in front of an audience
Concept L1 Foundations FM
In live coding, each code change affects the running output immediately
Principle L1 Foundations F
Live coding is a feedback loop of writing code, running it, perceiving the result, and letting that drive the next change
Principle L2 First instrument FM
Live coding's legitimacy depends on building music from a blank slate in real time — not from pre-prepared patches or stems
Concept L1 Foundations FM
Live coding is improvisation with a map that generates the territory: you cannot read the code until you run it
Concept L1 Foundations FO
Live coding is process-first: you start with something and follow where it leads rather than executing a fully-formed idea
Principle L1 Foundations FM
A live coder is like an improvising composer: code is the score and the computer performs it while the audience watches it being written
Concept L1 Foundations FA
To learn a live-coding language faster, imagine the sound before pressing Run, then diagnose the difference
Principle L1 Foundations FN
Live coding exists on a spectrum from fully improvised to largely pre-composed, and performers position themselves on it
Concept L3 Craft FP
Live coding makes private intellectual activity publicly visible, which can function as a political act
Concept L1 Foundations FP

Supporting — enrichment, not gating

Live coding feels like an instrument rather than a DAW because evaluation is immediate and the feedback loop closes in milliseconds
Concept L2 First instrument FM
Keeping code and output permanently synchronized eliminates the mental model gap that causes creative blindness
Concept L2 First instrument FH
The crash is a celebrated moment in live coding performance — silence followed by sound returning always earns a cheer
Concept L1 Foundations FP
Live coding is simultaneously notation and execution — the code notates and performs the work at the same time
Concept L2 First instrument FA
Live coding emerged from hacker culture and could not have developed in a commercial music industry context
Fact L1 Foundations FP
Live coding emerged from computer music history that begins with MUSIC-N and flows through Max, SuperCollider, and real-time audio in the 1990s
Fact L1 Foundations FB
Live coding's hacker-derived 'what you do, not who you are' ethos supports an inclusive community
Fact L1 Foundations FP
The TOPLAP Manifesto and 'Live Coding: A User's Manual' are the canonical texts for the field
Fact L1 Foundations FP
In live coding the human is the unambiguous creative agent; in generative art authorship is shared with the autonomous process
Concept L1 Foundations FO
Generative art emphasises autonomous process and distance from the author; software art embeds the human in the code
Concept L1 Foundations FO
Live coding and modular synthesis share the same motivation: working with systems as musical material from the inside
Concept L1 Foundations FE
Mid-to-late 1990s software democratised music production and enabled laptop performance and live coding as new techno practices
Fact L2 First instrument FN
Live coding languages are classified by target medium, host platform, and implementation language
Concept L1 Foundations FH
Different live-coding tools front different first skills, so tool choice sets your first learning curve
Concept L1 Foundations FB
There is no universal language or method for live coding — the practice is inherently pluriversal and resists easy classification
Principle L0 Orientation FP
Larry Tesler's modelessness principle — no person should be trapped in a mode — led to cut/copy/paste
Concept L1 Foundations FH
Secondary notation — whitespace, naming, colour — carries meaning for human programmers that the interpreter discards
Concept L1 Foundations FN
Programmers use both discrete linguistic symbols and analogue mental imagery simultaneously when reading and writing code
Concept L2 First instrument FO
Showing concrete runtime values alongside abstract code eliminates the need to mentally simulate execution
Principle L2 First instrument FH