Thu Sep 5 14:13:12 EDT 2019
Delegation is just subroutines
This is the idea that links distributed systems with "stack based"
single-process decomposition. The latter feels clean, but the former
just feels messy.
Maybe this is really about realizing that the former isn't dirty.
That the world is inherently distributed, because of matter needing
space, and the speed of light.
RPC is really just CPS in disguise, which is "rube-goldbergy".
RPC is not a good abstraction. It is about wanting things to be
Maybe the core of the misunderstanding is that "stacks fail together",
but units that run code separately can get out of sync, and failure
isn't always obvious. Something needs to oversee that the whole thing
is still ok, so if one component fails, everything can be put back in
order at a coarser hiararchical scale.
This is "let it crash". It is about treating queue-based programming
the same as stack-based programming: assume the whole thing just keeps
working, and handle things getting out of sync by detecting it and
delegating restart up the hierarchy (at the point where a "unit" can
be distinguised, instead of several cooperating "elements").