La programación interactiva, también conocida como codificación en vivo, se refiere a cualquier lenguaje de programación de computadoras que permite al creador realizar cambios en el programa mientras ya se está ejecutando. En la programación tradicional, el codificador primero escribe el programa y luego lo guarda. Luego ejecuta el programa en la computadora. Si ocurre un error, vuelve a la mesa de dibujo para escribir un nuevo código y ejecutar el programa de nuevo. Con la programación interactiva, el diseñador puede realizar cambios en el código sin tener que volver a ejecutar el programa.
Otro uso de la programación interactiva es permitir la entrada del usuario en lo que se llama una aplicación interactiva. Esto puede ser tan simple como pedirle al usuario su nombre y luego mostrarlo en la pantalla. El programa tiene un elemento interactivo al cambiar el valor del nombre del usuario en función de lo que escribe. Cuando se creó el programa, no conocía su nombre y el valor estaba en blanco. Una vez que supo su nombre, puso ese valor en el programa mientras el programa aún se estaba ejecutando y luego lo mostró en la pantalla.
Este tipo de programación interactiva contrasta con otro proceso de programación conocido como procesamiento por lotes. En el procesamiento por lotes, el programa puede ejecutarse sin necesidad de que el usuario ingrese información. Esto tiene la ventaja de funcionar por sí solo sin necesidad de la ayuda del usuario, pero tiene un gran inconveniente. Toda la información necesaria para que el programa se ejecute debe estar codificada desde el principio. Si el programa quisiera mostrar el nombre del usuario, necesitaría saberlo ya, ya que no podría solicitar la entrada del usuario.
En la creación de un programa, pasa por ciclos de desarrollo. Estos ciclos comienzan con la identificación de lo que debe hacer el programa, escribiendo el código y probando el programa. Luego, el diseñador regresa y realiza cambios en el programa y lo prueba nuevamente. Este proceso se repite hasta que se crea un programa exitoso.
Cuando se utiliza la programación interactiva, las distintas líneas entre las etapas del ciclo de desarrollo se vuelven borrosas. Escribir el programa y ejecutarlo se convierten en lo mismo. En lugar de escribir el programa y luego ejecutarlo, el desarrollador puede escribir el programa, ejecutarlo y continuar escribiéndolo o realizando cambios mientras se está ejecutando. Esto permite mucha más flexibilidad en los programas y permite al programador o al usuario realizar cambios sin reiniciar el programa.