5 ms·
Love the actor programming model. Wish other languages had native support for it.
by NL807 5y ago
Love the actor programming model. Wish other languages had native support for it.
- delta1 5y agoCheck out Actix for Rust
- rapsey 5y agoHuge difference between Erlang and another language shoehorning concepts into it.
- alpaca128 5y agoI'm currently trying out Bastion (also Rust) in a project and while I still have more to learn I must say: multithreading never felt this simple. Sending data between actors feels as easy as defining onclick listeners in JS, but with added benefits like typing and pattern matching on messages. Panicking threads are restarted so instantly by default I only notice it via their loss of state. And everything that I usually found cumbersome in that area is just...gone. Regarding your recommendation of Actix: according to its website it seems to be mainly a web framework?
- delta1 5y agoActix Web is built on top of Actix https://docs.rs/actix/0.12.0/actix/ https://docs.rs/actix/0.12.0/actix/
- nesarkvechnep 5y agoAs the creators of Erlang had stated, the similarity between Erlang's concurrency model and the Actor model is completely accidental.
- jacquesm 5y agoBut in the same way that there are evolutionary tracks that lead to the same end result. The eye has evolved up to 40 times independently (see: https://www.nature.com/articles/eye2017226 https://www.nature.com/articles/eye2017226 ), which is all 'accidental' but for very good reasons: the advantages of having eyes are very large. Ditto for something like the actor model.
- dnautics 5y agothe motivations matter. I think Prof. Hewitt was looking for something that could defeat the church-turing hypothesis. The erlang creators cared about fault-tolerance. So other Actor systems out there have different design lineage which means different low-level design choices, and in many ways, they aren't quite the same in ways that are subtle, hard to see, but still quite important to the ergonomics of the developer or maintainer who is in the weeds.
- slver 5y agoThat doesn’t matter much.
- brabel 5y agoUnfortunately, Pony has not shown up much lately on HN or Reddit (or Twitter, or anywhere I used to hear about it) but it is a very neat language based on Actors: https://www.ponylang.io/ https://www.ponylang.io/
- dnautics 5y agoto be honest I think pony focuses on Actors from a theoretical perspective. Erlang accidentally implemented Actors, and the driving motivation was fault tolerance. Specifically, the Erlang system really cares about having a sane error model.
- macintux 5y agoThis gist that desperately needs some housekeeping includes links to various actor implementations. https://gist.github.com/macintux/6349828 https://gist.github.com/macintux/6349828