Topic: State Machines

(Or Rage Against the State Machines of Loving Grace)

Here’s one of those terms that Real Computer Science people toss around casually that makes the rest of us feel intimidated. But they don’t have to be! We actually all program state machines without even realizing it. By doing it a little more consciously, and optionally using a library designed for them, you can make your code cleaner and more explicit.

State machines (or Finite State Machines) are a cross-language concept, but we’ll use the Python transitions library to demonstrate them.