On message passing paradigm in practice.
Famously Alan Kay, who coined the term "object-oriented programming" and who created Smalltalk, claims that OOP is all about message passing instead of how it's implemented in the descendants of Simula. Though that doesn't mesh with the say many programmers interpret it (particularly because of C++ and its overwhelming effect on programming languages), the OOP purists tend towards this model; particularly in Ruby and to a larger extent in Erlang. This taxonomy is worth considering; I tend to support it.