Jump to content

Interactive programming

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 193.136.124.211 (talk) at 15:46, 29 January 2019 (Fixed deletion request.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Notice

The article Interactive programming has been proposed for deletion because of the following concern:

This article references no previous works, the term seems indistinguishable from "Live Coding" (more commonly known as "Live Programming") despite explicitly stating that they are not the same thing, and I have not found it being used in the literature in this context (the talk page does list a couple of uses of the term, but in different contexts - and it criticises this article as well). It should be merged with the "Live Coding" article, if not outright deleted. Do note that this page has been used as a reference in other works (https://elm-lang.org/blog/interactive-programming), but that's as much as can be said for its legitimacy.

While all constructive contributions to Wikipedia are appreciated, pages may be deleted for any of several reasons.

You may prevent the proposed deletion by removing the {{proposed deletion/dated}} notice, but please explain why in your edit summary or on the article's talk page.

Please consider improving the page to address the issues raised. Removing {{proposed deletion/dated}} will stop the proposed deletion process, but other deletion processes exist. In particular, the speedy deletion process can result in deletion without discussion, and articles for deletion allows discussion to reach consensus for deletion.

Interactive programming vs. standard 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 distinction 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: 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 also 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.

Example code

See also