Dramatis: Actors for Ruby
by Steven Parkes
Multicores. Distributed web services. Clouds. Pick your favorite buzz word, but pretty much any way
you slice it, it's concurrent programming: multiple things happening all over the place, all at the
same time. Until recently, this pretty much meant threads and sockets. But then the Prags published
Programming Erlang and a lot of people heard about an alternative model (not that Erlang or the
actor model are new, but ...) And many of us writing in Ruby got a severe case of actor envy (or
Erlang envy?)
In this talk, we'll introduce actors and Dramatis, an open source library that brings actors to
Ruby. We'll start with a discussion of actors, and how they compare to threads. Then we'll introduce
and show examples of writing actor programs in Dramatis, which implements the actor model into Ruby
in a unique and (hopefully) natural way. We'll compare Dramatis to other actor libraries and
implementations and highlight issues around writing actor-based concurrent programs in an
object-oriented, imperative, dynamic language.
About Steven Parkes
Steven Parkes is an independent software developer in Palo Alto, California. He has been involved in
concurrent object oriented programming for many years (his graduate thesis was on an Actor library
in C++) . He currently specializes in reslient design for backend systems.