Change the future

Saturday 10:50 a.m.–11:20 a.m.

So Easy You Can Even Do It in JavaScript: Event-Driven Architecture for Regular Programmers


Audience level:


In this era of rich browser applications, everybody needs to know at least enough about events to write an 'onclick' handler. But events have a reputation for being confusing. In this talk I'll explain why events can be quite easy to understand if you think about them the right way, and how to scale your understanding from trivial browser JavaScript to distributed systems in Python.


Event-driven programming seems confusing to many when presented in the context of networking applications because it works with highly abstract concepts, and procedural multi-step tasks that rapidly lead to a proliferation of callbacks before the programmer writing those callbacks has a good feel for the paradigm.

GUI programmers, on the other hand, tend to find event-driven programming relatively straightforward because it starts from concrete objects and visible effects.

This talk will present a series of visual metaphors that explain the thinking process behind writing an event-driven program, starting from a very basic clickable button on a web page and working up to a multi-user, multi-process, interactive, event-driven Python program.

While this talk will use Twisted, it is not a Twisted tutorial; it will focus on general concepts and demystifying complex ideas. Where necessary some simplifying wrappers will be used to compress the implementation so that it is suitable for the duration of the talk.