without knowing very much details, I think the actor model is basically based on message passing, right? Obviously there are existing solutions for message passing in Java, too, although they are probably more often used for distributed systems. But why weren't the basic concepts used in Java for concurrent programming, too? OK, I know there are already actor implementations for Java out there, but I haven't heard anything about this before Scala has grown in popularity. So I guess there must be some more important advantages of Scala actors over Java based implementations. Or is it just because no one has tried to think "the functional way" in Java before?
I'm gonna piggy back on this one, because this was basically my question.
Having heard a lot about Scala (Twitter backend, quick read about Scala Actors), I'm wondering what it is in Scala (or maybe Venkat can help explain the concepts or give an example) that makes it so highly performant? Why Scala not JMS or some clustering (Coherence, Terracotta) solution? (Not that I'm arguing one over the other, just asking because I don't know).