3 ms·
I liked the developer experience right off the bat -- the way the data structures are modeled couldn't be more elegant. However, this put a crimp in my enthusi
by hliyan 8y ago
I liked the developer experience right off the bat -- the way the data structures are modeled couldn't be more elegant.
However, this put a crimp in my enthusiasm:
"[Alan] defines all possible states of the data, and in effect all possible states of your application"
We recently finished refactoring a complex algorithm that got away from us because we coded it as a state machine rather than a plain vanilla algorithm using good old sequence + iteration + selection. The state machine version may have been easier to write, but the old fashioned algorithm was so much easier to reason about and maintain.
- klageveen 8y agoBoth approaches have their place. If the problem you're solving is best served by an "old fashioned algorithm" you can hook up a side application to your core system. The interface you define between the side app and core ensures your data never gets into a weird state because your algorithm didn't cover a case. For instance, for some projects we hook up to the Preactor planning system specifically to use their algorithms.