Interactive programming

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 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, 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 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. [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 in ChucK 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.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • interactive programming — dialoginis programavimas statusas T sritis automatika atitikmenys: angl. conversational programming; interactive programming; on line programming vok. dialogische Programmierung, f; Dialogprogrammierung, f; Interaktivprogrammierung, f rus.… …   Automatikos terminų žodynas

  • Interactive computation — involves communication with the external world during the computation. This is in contrast to the traditional understanding of computation which assumes a simple interface between a computing agent and its environment, consisting in asking a… …   Wikipedia

  • Interactive fiction — Interactive fiction, often abbreviated IF, describes software simulating environments in which players use text commands to control characters and influence the environment. Works in this form can be understood as literary narratives and as… …   Wikipedia

  • Interactive art — is a form of installation based art that involves the spectator in some way. Some installations achieve this by letting the observer walk in, on, and around them. Works frequently feature computers and sensors to respond to motion, heat,… …   Wikipedia

  • Programming language — lists Alphabetical Categorical Chronological Generational A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that… …   Wikipedia

  • Interactive evolutionary computation — (IEC) or Aesthetic Selection is a general term for methods of evolutionary computation that use human evaluation. Usually human evaluation is necessary when the form of fitness function is not known (for example, visual appeal or attractiveness;… …   Wikipedia

  • Interactive whiteboard — at CeBIT 2007 …   Wikipedia

  • Interactive Ruby — ou irb est un interpréteur de commandes qui permet d exécuter des commandes Ruby de manière interactive. Il peut être utilisé pour tester le langage. Il est fourni avec la version officielle de Ruby. Une version existe également sur le Web[1].… …   Wikipédia en Français

  • Programming by demonstration — (PbD) is a technique for teaching acomputer or a robot new behaviors by demonstrating the task totransfer directly instead of programming it through machinecommands.The term Programming by example (PbE) or Programming bydemonstration (PbD)… …   Wikipedia

  • Interactive theorem proving — is the field of computer science and mathematical logic concerned with tools to develop formal proofs by man machine collaboration. This involves some sort of proof assistant: an interactive proof editor, or other interface, with which a human… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”