Programación Dirigida por Eventos: Conceptos y Aplicaciones
Clase 11 de 21 • Curso de Historia de la Programación: Lenguajes y Paradigmas
Resumen
La programación dirigida por eventos se caracteriza por no controlar la secuencia de ejecuciones. Más bien, en la programación dirigida por eventos se reacciona a los sucesos ocurridos. Para ello, generalmente los programas corren indefinidamente integrando manejadores de eventos (event handlers).
Eventos y event handler
Los programas dirigidos a eventos se mantienen en estado de reposo, hasta que una acción dispara un event handler. Este se encarga de procesar el evento en cuestión. Algunos eventos comunes son:
- Clics (ya sea en un mouse, teclado, pantalla, etc.)
- Sensores (de temperatura, movimiento, etc.)
- Mensajes
- Triggers
- Casos de aplicación
- Solicitudes HTTP
Casos de uso
Entre los casos de uso de la programación dirigida a eventos encontramos.
- GUIs
- Aplicaciones web
- Sistemas de booking
- Sistemas de alarmas
- Robótica
- Videojuegos
Funcionamiento
En la programación imperativa tenemos una secuencia de pasos que se van a ejecutar de manera secuencial, y después puede repetirse el ciclo o puede llegar a detenerse el programa porque así lo decidimos o porque forzamos su detención.
Por otro lado, en la programación dirigida por eventos, tenemos un ciclo el cual mientras haya una condición que sea verdadera, se puede estar ejecutando de manera indefinida. Este ciclo va a escuchar ciertos eventos que van a modificar algunas variables de estado (por ejemplo, el contador de vidas en un videojuego). La modificación de estas variables puede resultar en que el ciclo se detenga, y que el programa finalice.
Lenguajes y ejemplos
Algunos lenguajes que implementan este paradigma son:
- Java
- JavaScript
- C#
- Librerías/Frameworks de GUI
- JavaFX, React.js, PyQT
- Prácticamente, cualquier lenguaje orientado a objetos.
Aquí vemos un ejemplo en JavaScript. Nota el uso de addEventListener
Y un ejemplo en Java. Añadimos un event listener con addMouseListener

Conclusión
La programación dirigida por eventos nos permite tener programas que corran indefinidamente, y que respondan cuando ocurre un evento. Deja en los comentarios si consideras que la programación orientada a eventos es un paradigma imperativo o declarativo 😉.
Contribución creada por: Ciro Villafraz con los aportes de Valentina Barrios.