[erlang-questions] Erlang is *not* a implementation of the Actor model Re: Go vs Erlang for distribution

Miles Fidelman mfidelman@REDACTED
Tue Jun 24 21:26:02 CEST 2014


Peer Stritzinger wrote:
> On 2014-06-23 22:14:28 +0000, Miles Fidelman said:
>
>> Raoul Duke wrote:
>>>> Generally Erlang implements something that "solves the problem", 
>>>> wheras
>>>> actors are just a theoretical construct.
>>> well yes the Actor model stuff was/is intended to be a foundational
>>> thing to build on top of. so when you say "theoretical construct" in a
>>> way it would be taken as a compliment, not an insult ;-)
>>>
>>> so i expect from Hewlitt et. al.'s perspective one would want to
>>> implement Erlang on top of actors. :-)
>>> _______________________________________________
>>>
>>
>> Seems to me that the core of the actor model is shared-nothing, message
>> passing concurrency.  Yes there are some fine differences between the
>> full model as defined by Hewitt (and implemented by him in some cases)
>> and Erlang - but that seems to get into the world of implementation 
>> details.
>
> How is having a quite different semantics being a "implementation 
> detail".
>
> But I should probably give up, the "Erlang is a implementation of the 
> Actor model" meme seems to be stronger than unimportant details than 
> semantics.
>

Maybe this is a clearer way of looking at it: (?)

1. From a 50,000 foot level, the Actor Model is a model of computation 
characterized by actors, messages, and message-passing concurrency.
2. The Actor Model presents a useful way to conceptualize certain 
classes of problems
3. Erlang is arguably the best, most mature programming/run-time 
environment for implementing systems that fit Actor-oriented design patterns

Beyond that:
4. The Actor Model, as formally defined by Hewitt (including some 
mathematical modeling thereof), differs from Erlang in some ways (or 
Erlang differs from it).  Though, as Hewitt says, "As was the case with 
the lambda calculus and functional programming, it has taken decades 
since they were invented [Hewitt, Bishop, and Steiger 1973] to 
understand the scientific and engineering of Actor Systems and it is 
still very much a work in progress."
5. Erlang does not appear to have been directly influenced by work on 
the Actor Model. Rather, it seems to have been a case of parallel 
developing of a similar approach to computation.

FYI:  As a result of this thread, I've found two very educational 
sources on these matters:

http://arxiv.org/ftp/arxiv/papers/1008/1008.1459.pdf (recent paper by 
Hewitt, cited earlier by someone else on this thread - includes a 
discussion of Erlang)

http://channel9.msdn.com/Shows/Going+Deep/Hewitt-Meijer-and-Szyperski-The-Actor-Model-everything-you-wanted-to-know-but-were-afraid-to-ask 
- 48 minute video of an informal discussion of the Actor Model, between 
Hewitt and a couple of other academics, at the Lang.Next 2012 conference.

Cheers,

Miles Fidelman



-- 
In theory, there is no difference between theory and practice.
In practice, there is.   .... Yogi Berra




More information about the erlang-questions mailing list