we have also implemented a system, where by it’s easy to extend (define a new variable to be queued, of a new state, and we are in business),
there are other advantages as well, but no doubt you get what i’m getting at by this time.
Disadvantages:
Well it’s going to take longer to set up, why? Because a state machine will force us, to consider a lot of possibilities that can “potentially” occur, whether they occur in reality or not is something to consider by itself. Now some think this is a disadvantage, I have always considered it an advantage, because it does force the issue of considering, “what if”. If it’s proven that state cannot exist, etc. That’s good, we have considered it, found it’s not a issue, and moved on, others would say it’s a waste of time. In my life, this is not a waste of time, lol, because it will invariably come up, at some time. The programmer has to understand what a state machine is, but it’s not likely this is a disadvantage, as the programmer has to understand some kind of structure, so it may as well be a state machine (and in truth, cascading IF statements is nothing more than a state machine. each IF statement, is just a new conditional state). In truth I think it could be successfully argued that all programs are state machines, so again, i’m not sure this is a disadvantage, just depends on the readers point of view.
continued…