[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