To program parallel systems efficiently and easily, a wide range of programming models have been proposed, each with different choices concerning synchronization and communication between parallel entities. Among them, the actor model is based on loosely coupled parallel entities that communicate by means of asynchronous messages and mailboxes. Some actor languages provide a strong integration with object-oriented concepts; these are often called active object languages. This article reviews four major actor and active object languages and compares them according to carefully chosen dimensions that cover central aspects of the programming paradigms and their implementation.
Dr Kiko Fernandez-Reyes
Software Engineer at Klarna. Previously, I was part of the programming languages research group at Uppsala University with specialisation in concurrent and functional programming languages, type systems, and formal methods, core developer of the actor-based Encore programming language, and main lecturer of the course Advanced Software Design at Uppsala University.