Event-driven programming

Computer programming paradigm / From Wikipedia, the free encyclopedia

Dear Wikiwand AI, let's keep it short by simply answering these key questions:

Can you list the top facts and stats about Event-driven programming?

Summarize this article for a 10 years old


In computer programming, event-driven programming is a programming paradigm in which the flow of the program is determined by events such as user actions from mice, keyboards, touchpads and touchscreens. Non-user initiated events can involve sensor inputs, or be programmatically generated (message passing) from other programs or threads. Event-driven programming is the dominant paradigm used in graphical user interfaces and other applications (e.g., JavaScript web applications) that are centered on performing certain actions in response to user input. This is also true of programming for device drivers (e.g., P in USB device driver stacks[1]).

In an event-driven application, there is generally a main loop that listens for events and then triggers a callback function when one of those events is detected. In embedded systems, the same may be achieved using hardware interrupts instead of a constantly running main loop. Event-driven programs can be written in any programming language, although the task is easier in languages that provide high-level abstractions, such as await and closures.