A one-paragraph explanation of how a computer works from Danny Hillis's The Pattern on the Stone (which you should read if you're interested in how computers work but don't really know):
"The work performed by the computer is specified by a program, which is written in a programming language. This language is converted to sequences of machine-language instructions by interpreters or compilers, via a predefined set of subroutines called the operating system. The instructions, which are stored in the memory of the computer, define the operations to be performed on data, which are also stored in the computer's memory. A finite-state machine fetches and executes these instructions. The instructions as well as the data are represented by patterns of bits. Both the finite-state machine and the memory are built of storage registers and Boolean logic blocks, and the latter are based on simple logical functions, such as And, Or, and Invert. These logical functions are implemented by switches, which are set up either in series or in parallel, and these switches control a physical substance, such as water or electricity, which is used to send one of two possible signals from one switch to another: 1 or 0. This is the hierarchy of abstraction that makes computers work."
Reading Hillis's explanation reminds me of Ray and Charles Eames's classic Powers of Ten film. In the same way that the computer is able to function by abstracting levels of functionality, expanding or limiting our view of the universe helps us understand it better, dealing with it at different scales rather than all at once (you don't get very far in describing the our solar system in terms of individual subatomic particles).
If I dared to use the phrase "hierarchy of abstraction" or "finite-state machine" with someone who didn't know a darn thing about computers, I think they'd possibly punch my ear, or kick me in the nards.
I prefer this simple explanation: Computers work on fate, some more than others. It's fate that they open your files, and fate that they sometimes eat your files for breakfast. Plugging your computer into a electrical socket simply fuels the fate engine. How the fate engine works is vastly unimportant, just as Twinkies and Nutty Ho Ho's are vastly unimportant in the grand scheme of things. Here, have a Ding Dong.
Or there's the ultra-primitive approach. Telling someone like my mother [or someone like me, come to think of it....] that computers are like very very large filing cabinets where the cards are cross-indexed, so that there are cards with 'outside' information on them, and other cards that tell the superclerk how to relate the outside cards to each other.
The French word for computer 'ordinateur' suggests some of that.
Except that there's now a generation of people who are not comfortable with either computers _or_ card-index filing cabinets.
Oh dear.
In fairness to Hillis and the book, the above quote appears at the end of the third chapter. In the preceding text, he very carefully explains how a computer works -- clearly defining abstraction and finite-state machines -- starting with 1s and 0s and adding one layer of abstraction at a time until he's described a fully programmable computer.
Or an even more existential issue - how do you build an EPROM programmer without an EPROM programmer?
This is actually one of the key points in "The Pattern on the Stone"--that there is nothing about computers that necessitates the use of silicon, photolithography and so forth. He describes how any chip design in existence could actually be built as a "hydraulic" system using a series of pipes and valves. Such a "processor" would be enormous, of course, but it would still work the same way as it's tiny silicon counterpart. Hillis also describes a tinkertoy computer he built, which is kind of amusing.
This thread is closed to new comments. Thanks to everyone who responded.

