La programación dirigida por eventos es un paradigma
de programación en el que tanto la estructura como la ejecución de los
programas van determinados por los sucesos que ocurran en el sistema, definidos
por el usuario o que ellos mismos provoquen.
Para entender la programación dirigida por eventos, podemos
oponerla a lo que no es: mientras en la programación secuencial (o estructurada)
es el programador el que define cuál va a ser el flujo del programa, en la
programación dirigida por eventos será el propio usuario —o lo que sea que esté
accionando el programa— el que dirija el flujo del programa. Aunque en la
programación secuencial puede haber intervención de un agente externo al
programa, estas intervenciones ocurrirán cuando el programador lo haya
determinado, y no en cualquier momento como puede ser en el caso de la programación
dirigida por eventos.
El creador de un programa dirigido por eventos debe definir
los eventos que manejarán su programa y las acciones que se realizarán al
producirse cada uno de ellos, lo que se conoce como el administrador de evento.
Los eventos soportados estarán determinados por el lenguaje de programación
utilizado, por el sistema operativo e incluso por eventos creados por el mismo
programador.
En la programación dirigida por eventos, al comenzar la
ejecución del programa se llevarán a cabo las inicializaciones y demás código
inicial y a continuación el programa quedará bloqueado hasta que se produzca
algún evento. Cuando alguno de los eventos esperados por el programa tenga
lugar, el programa pasará a ejecutar el código del correspondiente administrador
de evento. Por ejemplo, si el evento consiste en que el usuario ha hecho click
en el botón de play de un reproductor de películas, se ejecutará el código del administrador
de evento, que será el que haga que la película se muestre por pantalla.
Un ejemplo claro lo tenemos en los sistemas de programación
Lexico y Visual Basic, en los que a cada elemento del programa (objetos,
controles, etcétera) se le asignan una serie de eventos que generará dicho
elemento, como la pulsación de un botón del ratón sobre él o el redibujado del
control.
La programación dirigida por eventos es la base de lo que
llamamos interfaz de usuario, aunque puede emplearse también para desarrollar
interfaces entre componentes de Software o módulos del núcleo.
En los primeros tiempos de la computación, los programas
eran secuenciales, también llamados Batch. Un programa secuencial arranca, lee
parámetros de entrada, procesa estos parámetros, y produce un resultado, todo
de manera lineal y sin intervención del usuario mientras se ejecuta.
Con la aparición y popularización de los PC, el software
empezó a ser demandado para usos alejados de los clásicos académicos y
empresariales para los cuales era necesitado hasta entonces, y quedó patente
que el paradigma clásico de programación no podía responder a las nuevas
necesidades de interacción con el usuario que surgieron a raíz de este hecho.