In any case, this notion that "computers can only do what they are told
to do," first propounded by Lady Lovelace in her famous memoir, is so
prevalent and so connected with the notion that "computers cannot think"
that we shall return to it in later Chapters when our level of sophistication is
greater.
Two Types of System
There is an important division between two types of system built up from
many parts. There are those systems in which the behavior of some parts
tends to cancel out the behavior of other parts, with the result that it does
not matter too much what happens on the low level, because most anything
will yield similar high-level behavior. An example of this kind of system is a
container of gas, where all the molecules bump and bang against each other
in very complex microscopic ways; but the total outcome, from a macro-
scopic point of view, is a very calm, stable system with a certain tempera-
ture, pressure, and volume. Then there are systems where the effect of a
single low-level event may get magnified into an enormous-high-level conse-
quence. Such a system is a pinball machine, where the exact angle with
which a ball strikes each post is crucial in determining the rest of its
descending pathway.
A computer is an elaborate combination of these two types of system. It
contains subunits such as wires, which behave in a highly predictable
fashion: they conduct electricity according to Ohm's law, a very precise,
chunked law which resembles the laws governing gases in containers, since
it depends on statistical effects in which billions of random effects cancel
each other out, yielding a predictable overall behavior. A computer also
contains macroscopic subunits, such as a printer, whose behavior is com-
pletely determined by delicate patterns of currents. What the printer prints
is not by any means created by a myriad canceling microscopic effects. In
fact, in the case of most computer programs, the value of every single bit in
the program plays a critical role in the output that gets printed. If any bit
were changed, the output would also change drastically.
Systems which are made up of "reliable" subsystems only-that is,
subsystems whose behavior can be reliably predicted from chunked
descriptions-play inestimably important roles in our daily lives, because
they are pillars of stability. We can rely on walls not to fall down, on
sidewalks to go where they went yesterday, on the sun to shine, on clocks to
tell the time correctly, and so on. Chunked models of such systems are
virtually entirely deterministic. Of course, the other kind of system which
plays a very large role in our lives is a system that has variable behavior
which depends on some internal microscopic parameters-often a very
large number of them, moreover-which we cannot directly observe. Our
chunked model of such a system is necessarily in terms of the "space" of
operation, and involves probabilistic estimates of landing in different re-
gions of that space.
A container of gas, which, as I already pointed out, is a reliable system
Levels of DescrIption, and Computer Systems 307