- Interactive programming
Interactive programming is the procedure of writing parts of a program while it is already active. This focuses on the program text as the main interface for a running process, rather than an interactive application, where the program is designed in
development cycle s and used thereafter (usually by a so-called "user", in difference to the "developer"). Consequently, here, "the activity of writing a program becomes part of the program itself."It thus forms a specific instance of
Interactive computation as an extreme opposite toBatch processing , where neither writing the program nor its use happens in an interactive way. The principle of "rapid feedback" inExtreme Programming is radicalized and becomes more explicit.Synonyms: Live Coding, On-the-fly-Programming, Just In Time Programming, Conversational Programming
Application Fields
Interactive programming techniques are especially useful in cases "where no clear specification of the problem that is to be solved can be given in advance". In such situations (which are not unusual in research), the formal language provides the necessary environment for the development of an appropriate question or problem formulation.
Interactive programming has been also used in applications that need to be rewritten without stopping them, a feature which the computer language
Smalltalk is famous for. Generally,dynamic programming language s provide the environment for such an interaction, so that typically Prototyping andIterative and Incremental development is done while other parts of the program are running.As this feature is an apparent need in sound design and algorithmic composition, it has evolved significantly there. More recently, researchers have been using this method to develop
Sonification algorithms.Using dynamic programming languages for sound and graphics, interactive programming is also used as an improvisational performance style
live coding , mainly in algorithmic music and video.For further information see eg. [http://toplap.org Toplap]Example Code
*An example of some code in the dynamic programming language
SuperCollider is available [http://swiki.hfbk-hamburg.de:8888/MusicTechnology/739 here] .
*Another example, written inChucK is available [http://wiki.cs.princeton.edu/index.php/FractalMelody here]
*Live Coding of graphics with [http://www.pawfal.org/Software/fluxus/ fluxus] : [http://www.pawfal.org/Software/fluxus/images/ribbon.pnga screenshot]
*An example of livecoding in English with [http://netjam.org/quoth/demo Quoth]ee also
*
Live coding
Wikimedia Foundation. 2010.