Programación interactiva

Programación Interactiva
Información sobre la plantilla
Programacioninteractiva.png
Concepto:Es el procedimiento de escribir partes de un programa mientras está activo.

Programación interactiva.Modificación de un programa mientras éste se encuentra activo. El término de programación interactiva no tiene que ver con el estilo en el que está escrito un programa sino con el proceso de escritura del código. Centra el texto de programa como la principal interfaz del usuario para ejecutar un proceso, donde el programa está diseñado en su ciclo de desarrollo y utilizado después por un usuario, en distinción del desarrollador. Consecuentemente la actividad de escribir un programa se convierte en parte del programa mismo.

Principios

En ambientes no interactivos los programadores trabajan intercalando dos tipos de actividades bien separadas: la edición y la ejecución. La programación es entonces una secuencia de sesiones de edición de código y de sesiones de ejecución (y a veces también de fases de compilación). Al terminar una sesión de edición, se lanza el programa y se observan los efectos sobre el comportamiento del programa. Una vez se ha observado el programa en ejecución, se interrumpe el programa para empezar una nueva sesión de edición. Cada actividad está claramente delimitada e implica un tipo de gestos distinto. El cambio entre una actividad y otra implica un cambio de contexto mental que se convierte en un esfuerzo adicional. El programador tiende entonces a programar en sesiones de edición largas para evitar el cambio frecuente de actividad.

En ambientes interactivos, el programa todo el tiempo está en ejecución y el programador modifica su comportamiento haciendo un pequeño cambio a la vez. El programador trabaja en micro-sesiones de edición tras las cuales observa inmediatamente el resultado de la misma. La sensación del mismo es que las dos actividades, modificar el programa y observar el resultado de las modificaciones, se funden en una sola actividad.

Aplicaciones

  • Se aplica en casos donde ninguna especificación clara del problema que va a ser solucionado puede darse por adelantado.
  • 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.
  • Proporciona el entorno para esa interacción, por lo que en el modelo de prototipos y el desarrollo iterativo y creciente; el desarrollo se hace mientras otras partes del programa están en ejecución.

Programación Interactiva y los lenguajes de programación

En Java se logra cierto nivel de interactividad usando un buen ambiente de desarrollo integrado, por ejemplo Eclipse, en el que un programa puede fácilmente ejecutarse en modo debug y modificar las clases sin tener que detener la ejecución. En este lenguaje de programación muchas veces es necesario detener la ejecución del programa, ejemplo de esto es cuando se cambia el nombre de un método.

Además del ambiente de desarrollo, el lenguaje en si mismo influye en que tan interactivamente se pueda programar. Muchas veces en Java, para poder usar una cierta librería, es necesario crear sub-clases. Crear una clase implica una sesión de tecleo relativamente larga, que destruye la fluidez de la programación interactiva.

Los programadores de Common Lisp suelen usar el editor de texto Emacs junto a Slime, una adaptación que permite programar interactivamente. Una sesión de trabajo consiste habitualmente en:

  • Cargar el sistema en el que se va a trabajar, a partir del editor.
  • Escribir nuevas funciones o modificar las existentes y hacer que el sistema en ejecución use estas nuevas definiciones tan pronto se van escribiendo.
  • Probar constantemente estas nuevas funciones ejecutando fragmentos de código, que luego pueden desecharse.

Fuentes