Designing for flexibility and robustness: Asynchronous message model, OOP and Functional Programming
This post has been originally posted on http://www.infoq.com/news/2007/11/asynchronous-oop-and-fp
According to Pragmatic Programmers it is preferable in OOP to avoid design based on returning values. Michael Feathers argues that it may also be better to use the asynchronous message model that might be instrumental for improving adaptability and robustness. This maps well to the Erlang model though opposing some of the principles of pure functional programming.

