|
Charles
Babbage - Hardware & Software
In designing his
Analytical Engine, Babbage was making several key distinctions that are
at the heart of computing.
- First, Babbage
was essentially distinguishing "computing" from mere "calculation."
Consider, for example, computing your income taxes. Although you probably
use a calculator in computing your taxes, a mere calculator cannot do
your taxes for you. The process certainly involves many calculations,
most of which actually consist of pretty basic arithmetic: addition,
subtraction, multiplication, and division. But computing taxes
correctly is a matter of doing the right calculations in the right sequence
using the right numbers. It means following the steps of the tax form.
Or, in computer terms, we could say that in completing the tax form
you follow the steps of a program. Although the process
of computing one's taxes can seem at first like a long, complicated
task, arithmetically it actually consists of a lengthy sequence of fairly
simple calculations—again, the key is performing the right calculations
in the right order using the right numbers.
- Similarly,
Babbage realized that, like the tax form, an enormous range of mathematical
tasks could be broken down into a sequence of fairly simple calculations.
As envisioned, the Analytical Engine would be capable of any mathematical
task the user desired, as long as that task could be described in terms
of a sequence (what we now call a program) of the basic calculations
that were performable by the machine.
Babbage was distinguishing
between what we now call hardware and software:
- In terms of its
physical structure—its hardware—his machine was
capable of a limited range of basic operations.
- In terms of the
sequences of basic calculations—the software—that
could be designed for this machine, the possibilities for computing
were unlimited. This programmability is at the heart of the difference
between a computer and a calculator.
|
|