Een event-driven language is een programmeertaal die draait om het reageren op gebeurtenissen. In plaats van een vaste lijst stappen van begin tot eind af te werken, zet de code handlers klaar die wachten tot er iets gebeurt: een muisklik, een binnenkomend bericht, een timer die afgaat. Pas dan draait het juiste stukje code.

Zie het als een receptionist achter een rustige balie. Die is niet de hele tijd met één lange taak bezig. Hij zit klaar, en zodra de telefoon gaat of er iemand binnenloopt, reageert hij op precies die gebeurtenis. Zodra het klaar is, wacht hij weer. Zo werkt een event loop, en daarom past deze stijl zo goed bij JavaScript in de browser en bij Node.js op de server.

Deze aanpak past logisch bij een bredere event-driven architectuur, waarbij hele systemen met elkaar praten door events te sturen en erop te reageren. Het houdt software vlot, want niets staat te wachten in de rij. Eén trage taak bevriest niet de rest van de app.

De keerzijde is dat de loop van een event-driven programma lastiger te lezen is. In plaats van één helder pad naar beneden heb je veel kleine handlers die op verschillende momenten afgaan, dus duidelijke namen geven en elke handler één ding laten doen loont echt. Goed gedaan voelt het resultaat levend aan: formulieren valideren terwijl je typt, meldingen verschijnen precies op het juiste moment, en de interface staat nooit bevroren te wachten op het netwerk.

Bij TopDevs gebruiken we event-driven patronen wanneer een klant software nodig heeft die direct reageert op gebruikers of op andere systemen, in plaats van steeds te wachten en te checken.