3 ms·
Although it comes at the expense of better performance, not having shared memory between actors in Erlang was a deliberate decision, as it offers a few advantag
by plainOldText 8y ago
Although it comes at the expense of better performance, not having shared memory between actors in Erlang was a deliberate decision, as it offers a few advantages over the shared model:
* More robust failure recovery, as actors can be restarted truly independently in case of faults
* Better distribution out of the box as actors on different machines can't share memory anyway
On the other hand, Pony does promise to catch certain types of errors at compile time, but this is hardly foolproof, as long running programs will still encounter hardware and runtime errors. But since these classes of errors are less common, one can choose to live with them.
Ultimately, one must learn to compromise one way or another. For now, I'm happy I can extend Elixir via Rust.