ActorThe term for a paradigm of programming which models computations with concurrent (possibly transparently-distributed) entities, the Actors, that communicate with asynchronous messages; Actors may update their behaviour depending on the messages they receive.
Nota bene: sometimes Actors are inappropriately called Agents (see for example the abstract of Actors as a special case of concurrent constraint (logic) programming below), a term often used when Actors are instantiated remotely, or are "mobile agents"; an Agent could be implemented using or not the Actor paradigm, but in any case the two terms are distinct.
Actors and capabilities
Actors and concurrent constraint logic programming
Systems implementing Actors
You can write software in actor-oriented style in about any language that allows to do or simulate concurrent programming, but the result will be somewhat painful, especially so when the underlying implementation restricts the number of Actors (e.g. practical limitation of some ten thousands of threads in Java systems and "native" system threads system), so you either live by such drastic limitations, end up reimplementing all the infrastructure, or only make a half-baked use of the model.
History of the Actor paradigm
See the works by Carl Hewitt, Henry Baker, Henry Lieberman, Will Clinger, Gul Agha and others while at MIT, or by other fine people like Akinori Yonezawa. Actors have been rediscovered twenty years later by formal-methods people, yielding the very cleanly formalized join calculus. They have also been rediscovered by the industry, and a nice language that robustly implements the actor model is Erlang.
Actors are the real thing of which object-oriented programming is the caricature. Actors are what Alan Kay had in mind but couldn't initially achieve when inventing the object-oriented paradigm. When people say that OOP is based on an "intuitive" modelling of the world as objects in interaction, the intuition they invoke is the Actor model, but their actual OO model is a less-expressive version where only one object is active at a time, with a linear flow of control: objects are crippled Actors deprived of independent activity. Retrofitting concurrency in an existing object-oriented system can help express the Actor paradigm, but it requires more than the superficial addition of threads to unleash the real thing. -- Fare