2 ms·
It doesn't talk about statecharts, but statecharts are a great alternative solution to the problems it raises. I find a statechart-based system to be just as u
by erichocean 14y ago
It doesn't talk about statecharts, but statecharts are a great alternative solution to the problems it raises.
I find a statechart-based system to be just as understandable and testable as a pure function, and yet all it handles is state and control -- the supposed source of complexity!
I think you've also hit on why the web has been able to scale as well as it has. Scaling state is really, really tough.
- chubot 14y agoAny pointers/examples on using state charts? I've seen custom state machine compilers for tricky code (not limited to parser generators)... but I don't have much familiarity with the term "state charts". I find functional code goes a long way... a lot further than most people think. And then I try to capture all side effects in objects instantiated in main(). That makes them easy to isolate and scale later. I like some of their arguments about relational modeling vs. hierarchical modeling... not sure about the implications in my own code yet. Werner Vogels has a pithy headline "Life is not a State Machine"... I think too many people have yet to internalize that. An individual program is always a state machine, but a distributed system is not in general. You can force it to be one by using full Paxos everywhere, but that's limiting yourself to a very narrow subset of all possible distributed systems. So there is something fundamental about state machines and scaling. There is probably an impossibility result somewhere about this.