Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

The Actor Model that is used by Erlang seem to be a very different way to do concurrent programming. What is your thoughts on the Actor Model? Will it be a popular solution for concurrency?

share|improve this question
add comment

3 Answers

up vote 5 down vote accepted

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.

share|improve this answer
2  
There'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
add comment

"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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.