<p><pre><code> ... we conjure the spirits of the computer with our spells.
A computational process is indeed much like a sorcerer's idea
of a spirit. It cannot be seen or touched. It is not composed
of matter at all. However, it is very real. It can perform
intellectual work. It can answer questions. It can affect the
world by disbursing money at a bank or by controlling a robot
arm in a factory. The programs we use to conjure processes are
like a sorcerer's spells. They are carefully composed from
symbolic expressions in arcane and esoteric programming languages
that prescribe the tasks we want our processes to perform.
A computational process, in a correctly working computer, executes
programs precisely and accurately. Thus, like the sorcerer's
apprentice, novice programmers must learn to understand and to
anticipate the consequences of their conjuring. Even small errors
(usually called bugs or glitches) in programs can have complex and
unanticipated consequences.
</code></pre>
SICP, Chapter 1, lifted from the on-line version:<p><a href="http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-9.html" rel="nofollow">http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-9.html</a>