Book contents
- Frontmatter
- Contents
- Preface
- Acknowledgments
- 1 TALKING WITH COMPUTERS
- 2 THE SHELL GAME
- 3 KEEPING TRACK OF YOUR STUFF
- 4 DON'T SWEAT THE SYNTAX
- 5 COMPUTATIONAL MUDDLES
- 6 GETTING ORIENTED
- 7 THANKS FOR SHARING
- 8 YOU'VE GOT (JUNK) EMAIL
- 9 MODERN ARCHITECTURE
- 10 DO ROBOTS SLEEP?
- 11 UNDER THE HOOD
- 12 ANALYZE THIS
- 13 FOREST FOR THE TREES
- 14 SEARCHING THE WILD WEB
- 15 DARWIN'S DANGEROUS ALGORITHM
- 16 AIN'T NOBODY HERE BUT US MACHINES
- Bibliography
- Index
5 - COMPUTATIONAL MUDDLES
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Acknowledgments
- 1 TALKING WITH COMPUTERS
- 2 THE SHELL GAME
- 3 KEEPING TRACK OF YOUR STUFF
- 4 DON'T SWEAT THE SYNTAX
- 5 COMPUTATIONAL MUDDLES
- 6 GETTING ORIENTED
- 7 THANKS FOR SHARING
- 8 YOU'VE GOT (JUNK) EMAIL
- 9 MODERN ARCHITECTURE
- 10 DO ROBOTS SLEEP?
- 11 UNDER THE HOOD
- 12 ANALYZE THIS
- 13 FOREST FOR THE TREES
- 14 SEARCHING THE WILD WEB
- 15 DARWIN'S DANGEROUS ALGORITHM
- 16 AIN'T NOBODY HERE BUT US MACHINES
- Bibliography
- Index
Summary
There is a reason I liken computations to evanescent spirits. They are called into being with obscure incantations, spin filaments of data into complex webs of information, and then vanish with little trace of their ephemeral calculations. Of course, there are observable side effects, say when a computation activates a physical device or causes output to be sent to a printer, displayed on a screen or stored in a file. But the computations themselves are difficult to observe in much the way your thoughts are difficult to observe.
I'm exaggerating somewhat; after all, unlike our brains, computers are designed by human beings. We can trace every signal and change that occurs in a computer. The problem is that a complete description of all those signals and changes does not help much in understanding what's going on during a complex computation; in particular, it doesn't help figure out what went wrong when the results of a computation don't match our expectations.
An abstraction is a way of thinking about problems or complex phenomena that ignores some aspects in order to simplify thinking about others. The idea of a digital computer is itself an abstraction. The computers we work with are electrical devices whose circuits propagate continuously varying signals; they don't operate with discrete integers 0, 1, 2, …, or for that matter with binary digits 0 and 1.
- Type
- Chapter
- Information
- Talking with ComputersExplorations in the Science and Technology of Computing, pp. 70 - 84Publisher: Cambridge University PressPrint publication year: 2004