The Actor Model which is used by Erlang seems to be a very different way to do concurrent programming. What are your thoughts about the Actor Model? Will it be a popular solution for concurrency?
-
1http://blogs.msdn.com/b/dotnet/archive/2014/04/02/available-now-preview-of-project-orleans-cloud-services-at-scale.aspx – Daniel Little May 12 '14 at 03:08
-
This site seems to be way too biased and unfair towards soley opinion-based questions. This is clearly opinion-based but has not been closed. Other opinion-based questions get closed within minutes. How can this process be improved and become more fair? – jordan May 12 '14 at 05:03
-
I find the topic very interesting but, yes, the question is too broad and opinion-based. – Giorgio May 12 '14 at 07:10
3 Answers
"Popular" isn't a terribly important metric. "Useful" or "powerful" is.
The Actor model's been around for about 35 years now, at least in academia, and it has been adopted by more and more real-world languages as time passes. (OK, Erlang didn't adopt the Actor model, it reinvented the Actor model. Still.)
So, given that it's survived several decades in academia, and it's moving into the mainstream, I'd say it's going to be around for a good while.

- 16,643
- 7
- 48
- 84
I presume you knows the concept. Well, I don't know very well yet.
The short answer is that I believe in popularity of this model to concurrency in short and medium term. I always loved lambda and closures and I see actor like closures specially handled to power concurrency. Thus multi core processors bring to us a new paradigm to programming, concurrency is obligatory to achieve high performance. Actor model seems the ease path to exploit modern hardware.
Sooner or later (i hope sooner) almost every mainstream language will support a better model to concurrency. IMHO Actor model so well implemented in Erlang should be the best candidate.
One obstacle to Actor model gain popularity is the little impedance with OOP, the dominant paradigm now. But the first step is being given, the main languages are implementing some functional features which will clean the path to Actor model.
I am reading a lot about this issue, I think it is very important to every programmer advance in his/her skills.
Late Edit:
Now I understand better the paradigma. So I can say it's better to a programming languague allow allow the problem be handled by libraries or eventually has a feature to facilitate the adoption of one model. Tie a language with just one model doesn't see a good ideia.

- 10,826
- 14
- 80
- 133
-
2There's impedance between the Actor model and OOP? Alan Kay based Smalltalk in no small part on PLANNER. Hewitt took a lot from Smalltalk-72. Joe Armstrong now calls Erlang "possibly the only real OO language". – Frank Shearar Oct 10 '10 at 20:54
Honestly I think it is the best way to do concurrency. The shared memory with locks model scares me, I can just see too many ways where it can go wrong. Actors with message passing seems to be a much cleaner way to do things.
Also look at STM which can be used in Clojure and Haskell and probably a few other languages.

- 10,433
- 2
- 37
- 55