Programación interactiva
# Programación interactiva

Programación Interactiva es el procedimiento de escribir partes de un programa mientras está activo. Esto centra el texto de programa como la principal interfaz del Usuario para correr un proceso, más que en la computación interactiva, donde el programa está diseñado en su ciclo de desarrollo y utilizado después normalmente por un "Usuario", en distinción del "desarrollador". Consecuentemente, aquí, la actividad de escribir un programa se convierte en parte del programa mismo.

Se forma así una instancia específica de computación interactiva como un extremo opuesto a procesamiento por lotes, donde ni escribir el programa ni su uso sucede de una manera interactiva. El principio de retroalimentación rápida en programación extrema se radicaliza y se vuelve más explícita.

Sinónimos: Codificación viva, programación sobre la marcha, programación "just in time", programación conversacional.

## Campos de aplicación

Las técnicas de programación interactiva son especialmente útiles en casos donde ninguna especificación clara del problema que va a ser solucionado puede darse por adelantado. En tales situaciones (que no son inusuales en investigación), el lenguaje formal proporciona el entorno necesario para el desarrollo de una pregunta o formulación del problema apropiadas.

La programación interactiva también ha sido utilizada en aplicaciones que necesitan ser reescritas sin pararlas, una característica por la cual el lenguaje de programación Smalltalk es famoso. En general, la programación dinámica proporciona el entorno para esa interacción, por lo que por lo general en el modelo de prototipos y el desarrollo iteractivo y creciente, el desarrollo se hace mientras otras partes del programa están en ejecución.

Como esta función es una necesidad evidente en el diseño de sonido y composición algorítmica, ha evolucionado de manera significativa. Más recientemente, los investigadores han utilizado este método para el desarrollo de algoritmos de sonificación.

Utilizando lenguajes de programación dinámicos para sonido y gráficos, la programación interactiva se utiliza también como un estilo de actuación improvisada o codificación en vivo, principalmente en la música algorítmica y video.

## Código de ejemplo

* Un ejemplo de código en el lenguaje de programación dinámico SuperCollider está disponible aquí.
* Otro ejemplo, escrito en Chuck está disponible aquí.
* Impromptu (Entorno de programación).
* Un ejemplo de codificación en vivo en inglés con Quoth.
