The thing that really makes GOTOs feel right for state machines is that you are not wasting any CPU cycles for things that can be made pre-compilation. A transition table solution for example would be a great solution if it was built in to the language and the code controlling the flow of the program was generated during compilation and not in real time every time the program is executing. The only reason you would want to generate the states in real time during execution is if you would need a totally unpredictable state machine, and that&#x27;s not what state machines are good for. :D