Vaughn Vernon on Reactive Programming with the Actor Model

Stefan Tilkov
2016 IEEE Software  
THIS MONTH'S COLUMN features Vaughn Vernon, a consultant and mentor with more than 25 years' experience in software design, development, and architecture. He's also the author of Reactive Messaging Patterns with the Actor Model: Applications and Integration in Scala and Akka (Addison-Wesley, 2016). The reactive model is an emerging topic in software engineering, driven by user sensitivity to latency and the desire to use computing resources more efciently. In his book, Vernon explains how these
more » ... two forces have converged on a model organized around events rather than blocking threads. Topics not covered here because of space include a typical approach for designing a system made of actors and the role of enterprise integration patterns. Please contact us with your ideas and thoughts about this column, or any aspect of the show, at -Robert Blumen Stefan Tilkov (ST): What does reactive programming mean? Is it something new, or have we been doing it for a long time? Vaughn Vernon (VV): It's both new and old. Reactive programming on the server side is going through a repopularization; on the client side, it's been going on for a long time. As far back as 1973, [computer scientist] Carl Hewitt was working on an experimental model called the actor model. Although the computing power available at the time wasn't suited for parallel or concurrent processing, he still formulated this model. Moving forward to the late 1980s and early 1990s, GUI programming was being developed. The Windows API and X-Windows were using reactive programming, although it probably wasn't called that at the time. The idea is that a user would move the mouse or click a command button that created events that were sent to the program, and the program would react to those events.
doi:10.1109/ms.2016.80 fatcat:d7xzojfnj5bkhcfml34plzxqlu