News for hackers. Stuff that matters.
Re:The Two Factions of C++ by saurik on Tuesday November 26, 2024 @04:16PM (#42250142)
> And, get this, writing one FORCES YOU to fully understand every possible state and edge case of the problem you're solving.

lol? ;P Here is just one example of a bug I know of that should exist, today, in Chrome, because, in fact, state machines are extremely hard to reason about.

https://issues.webrtc.org/issues/339131894

Now, you are going to tell me "they are doing state machines wrong as they don't have a way to discriminate on what the state even is in the first place"... and yet, that's the problem: the term "state machine" does not, in fact, mean a very narrow piece of inherent algorithmic limitations any more than "regular expressions" implies the language is regular, as this is an engineering term, not a computer science one.

In the field, state machines just kind of happen by accident when a ton of engineers all try to add their own little corner of logic, and the state is then implied by the cross-product of the state of every variable manipulated by the edges of the machine. This results in a complete mess where, in fact, it is essentially impossible to prove that you've provided edges for every possible state.

There are no comments on this comment yet.