It's fun to read confirmation of the comparability of these platforms.
On a related topic, I'd love to hear more from Parallel Universe, pron, or others at large here in the HN crowd about supervision models. I've been seeing the wisdom of a supervision tree for error handling more and more in golang code I've written lately.
Supervisors can be composed given channels as a primitive, but it still seems to be another thing entirely to do that, full of subtlety and careful engineering before you'll be able to reap the rewards of good sane-by-default concurrent error handling. Erlang seems to have a fantastic reputation here, and I understand Quasar has built a lot on the same theories; what are the essential elements behind that, if we want to mirror it in other languages?
Unless you have actor failure as a built-in primitive as in Erlang VMs, an essential component is exceptions. BTW, I think Quasar's supervisors are pretty much identical to Erlang's.
On a related topic, I'd love to hear more from Parallel Universe, pron, or others at large here in the HN crowd about supervision models. I've been seeing the wisdom of a supervision tree for error handling more and more in golang code I've written lately.
Supervisors can be composed given channels as a primitive, but it still seems to be another thing entirely to do that, full of subtlety and careful engineering before you'll be able to reap the rewards of good sane-by-default concurrent error handling. Erlang seems to have a fantastic reputation here, and I understand Quasar has built a lot on the same theories; what are the essential elements behind that, if we want to mirror it in other languages?