Let's take a moment to think about a simple everyday experience. When you turn the light switch, one of two things happen:
- If the light is on, it turns off
- If the light is off, it turns on
The behavior of a light switch is highly predictable. It's so predictable that, when the light doesn't turn on, you immediately think that something is wrong—that is, with the light bulb, the fuses, or the switch itself.
Here are some of the things that you don't expect to happen when you turn the switch on or off:
- Your fridge doesn't go off
- Your neighbor's lights don't turn on
- Your bathroom sink water doesn't turn on
- Your mobile phone doesn't reset
Why would all these things happen when you turn the light switch on? That would be highly chaotic; we wouldn't want chaos in our lives, right?
Yet, programmers...