6 ms·
Digital Design and Computer Architecture (Harris & Harris) Why? Because we software engineers can learn a lot from the hardware guys. Almost every piece of sof
by Kenji 9y ago
Digital Design and Computer Architecture (Harris & Harris)
Why? Because we software engineers can learn a lot from the hardware guys. Almost every piece of software I write these days contains some finite state machines (technically, every program is a finite state machine, where the binary string that makes up all your variables at a given point in time is one state, that insight alone is valuable, but I mean with explicit states in the code) - in fact, they often make up the core structure and uphold some strong invariants that make reasoning about the code simpler. And if one finite state machine does not do it, then you can nest them and keep all the benefits.