Re:Revisiting Actor Programming in C++ (2015)
by RossBencina on Monday November 19, 2018 @10:38AM
(#18487122)
Their definitions are distinct -- and at least at a surface level, quite different.[1] They have different abstract interfaces. From a practical point of view, if you're going to use them for programming, it's safe to say that they're not "the same." However, you do see some overlap in practical implementations: for example some actor systems have first-class channel or mailbox abstractions, whereas the pure Actor model has no such entities. People talk about implementing actors in Go, but Go is a CSP-based system.
You can ask whether the models are somehow equivalent (isomorphic?), or to what degree can you express one model in the other. Last time I checked, that is a fairly deep rabbit hole -- you'd need a solid grasp of the theory of equivalence of concurrent programs (e.g. pi-calculus) to answer the question properly.
Also don't forget that the Erlang team claim to have never heard of Hewitt's actor model, so Erlang-inspired actor systems are potentially distinct from (Hewitt, Agha et. al.) Actor Model systems.
You can ask whether the models are somehow equivalent (isomorphic?), or to what degree can you express one model in the other. Last time I checked, that is a fairly deep rabbit hole -- you'd need a solid grasp of the theory of equivalence of concurrent programs (e.g. pi-calculus) to answer the question properly.
Also don't forget that the Erlang team claim to have never heard of Hewitt's actor model, so Erlang-inspired actor systems are potentially distinct from (Hewitt, Agha et. al.) Actor Model systems.
[1] https://arild.github.io/csp-presentation/#1