Introduction
It's not easy to learn event-driven programming. If you're trying to program your first GUI
application, or trying to learn how to parse XML with a SAX parser, you've experienced the
difficulties first-hand.
Most, if not all, GUI systems and toolkits are designed to be event driven, meaning that
the main flow of your program is not sequential from beginning to end. If you've never
done GUI programming, this is one of the trickiest paradigm shifts.
— Robin Dunn, speaking on GUI programming at OSCON2004
Hollywood Principle: "Don't call us; we'll call you." ... You implement the interfaces,
you get registered. You get called when the time is right. This requires a distinctly
different way of thinking to that which is taught in introductory programming where
the student dictates the flow of control.
— Dafydd Rees, http://c2.com/cgi/wiki?HollywoodPrinciple