Live Coding#
Live coding, conversational programming, on-the-fly-programming, interactive programming or just in time programming is a paradigm that includes the programming activity in the program’s operation. A program is not taken as a tool that is made first to be productive later, but instead as a dynamic construction process of description and conversation. Writing code becomes an integral part of musical or experimental practice. Livecoding allows quick experimentation and incremental construction of patches, enabling a playful exploration of compositional possibilities. It also makes possible the on-stage, simultaneous creation and manipulation of patches during a live performance for an audience [Negrao18].
Interactive programming currently has its renaissance in the area of scientific computing, data science and machine learning. Notebooks such as Jupyter notebooks support the interaction between programmers and machines. For example, data scientists visualize data via code evaluation of a so called notebook cell. Based on the result they may decide what code they wanna write next.
However, compared to musical arrangements there is a key difference: The cycle of communication between these two partys result in a final product because we rarely transform useful code into something else. Instead, the final notebook is a well documented depiction of our data analysis. In the context of music, the process is the product—a performance. We transform code that is an essential part of a composition. It vanishes into nothingness—that’s the beauty.