**ELI5**
You have a wall full of [light switches](https://www.thespruce.com/thmb/BUwP79DQL5rJfQ_Ddz7oqqQ5h3Y=/2004×1127/smart/filters:no_upscale()/200526811-001-56a5a63e5f9b58b7d0ddd35e.jpg). Top to bottom, edge to edge, it’s just light switches arranged in a huge grid. Can you picture it? The whole wall is covered by them.
**PART I – Interpreting Switches**
Everyone has agreed that if switches 2, 544, 1097, and 45541 are turned on, that means the letter “A”.
Carry that idea to a larger scale. Which switches are on at the same time, “means” something. Maybe it’s a letter “A”, maybe it’s the number 4, maybe it’s a blue pixel at x-y coordinate (45, 98).
The important part is that we all agree how to “interpret” the current state of the switches.
After interpretation, the computer can be told to do things. Move the mouse cursor, turn this pixel to red, play a beep sound. “If these nine switches are on, play this song”.
**PART II – Turning On/Off Switches**
I tell the computer, “Anytime /u/PalaceOfPleasure69 types the letter G on the keyboard, turn switches 65, 101, and 876 on”.
I could also say, “Computer, anytime /u/PalaceOfPleasure69 moves the mouse to the left by one pixel, turn on switch 56, then 57, then 58.
So INPUTS from you, can control the current state of all the switches.
I could also make the switches react on or off based on a streaming video coming in. If the next byte off the ethernet is this, then turn those switches on.
So the important part here is that there are many things, both user-initiated and otherwise, that CHANGE the STATE of the switches.
**PART III – Go very fast!**
Now speed everything up to a million times a second. A million times a second, something changes some of the switches. A million times a second, some part of the computer looks at the switches and interprets them.
**PART IV – Putting it Together**
Inside your computer, are tens of millions of switches. They can either be on or off.
Let’s take the program Notepad as an example.
* When the user types an A, turn the appropriate switches on
* When these certain switches are on, show an A on the screen
* When the user clicks Save, turn other switches on.
* When these certain switches are on, take the contents of the Notepad, save it to disk.
This scales up to TREMENDOUS proportions. Everything on your computer is both setting switches on/off, and reading certain switches to make decisions. Sometimes it’s in reaction to you doing something, sometimes it’s in reaction to bytes coming in from the internet.
Does that help?
Latest Answers