"Actor" architecture is supposed to enable high developer productivity but it's been a decade since the article so I wonder how it's working out? The most prominent project of which I am aware is FoundationDB.
Basically microservices over ip/dns are actors (maybe not pure actors like Carl Hewitt would insist - but close enough), so I think it's safe to say that the dominant programming model today is actors.
Having spent a bit of time in actor-land at the language level, I think the primary advantages of actors are:
1) making concurrency relatively easy to reason about (vs. say strict async/await, promises.. shudder, async/yield, whatever twisted does etc.).
2) more importantly, and most actor frameworks don't get this right, fault tolerance and isolated failure domains. If your actor system doesn't limit the blast radius of a failure, then it's missing one of the biggest reasons to go with actors.
> it's been a decade since the article so I wonder how it's working out?
What article? The actor model dates back to 70s much has been written about its various implementations and incarnations since then.
If you don't treat it like a theoretical model of computation (like Hewitt does), then what's left is various largely unrelated architectures that employ message passing, with various levels of granularity.
I don't think any claim about higher developer productivity can be made without specifying what it's being compared to.
The actor model is at least 50 years old if not more, and it is found in all sorts of places in some form, which is unsurprising since it is a fundamental model for computation. So, for example, it is not hard to argue that SOA/Microservices are implementations of an Actor approach to services.
Having spent a bit of time in actor-land at the language level, I think the primary advantages of actors are:
1) making concurrency relatively easy to reason about (vs. say strict async/await, promises.. shudder, async/yield, whatever twisted does etc.).
2) more importantly, and most actor frameworks don't get this right, fault tolerance and isolated failure domains. If your actor system doesn't limit the blast radius of a failure, then it's missing one of the biggest reasons to go with actors.