Jump to content

Interactive programming

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by DXBari (talk | contribs) at 00:36, 27 December 2005 (remove hci cat). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Definition

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 cycles 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 to Batch processing, where neither writing the program nor its use happens in an interactive way. The principle of rapid feedback in Extreme Programming is radicalized and becomes more explicit.

Synonyms: Live Coding, On-the-fly-Programming, Just In Time Programming


Application Fields

Interactive programming techniques have been used in applications that need to be rewritten without stopping them, a feature which the computer language SmallTalk is famous for. Generally, dynamic programming languages provide the environment for such an interaction, so that typically Prototyping and Iterative 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. Toplap

Example Code