Page 21 - spring21
P. 21
In her Notes, Ada includes several early proto-computer programmes in the form of
algorithms, including, one to calculate Bernoulli Numbers, a highly complex
numerical series, in order to demonstrate how the machine could carry out
calculations of its own from first principles; “as an example of how an explicit
function may be worked out by the engine, without having been worked out by
human head and hands first.” She describes how to break down the algebra into
simple formulae which could be calculated using the basic mathematical instructions
that the Analytical Engine could process, i.e., addition, subtraction, multiplication or
division. It then describes how to code those formulae as instructions for the
Analytical Engine.
Babbage had sketched earlier computer programs, but Lovelace’s were more
elaborate and complete, and the first ever to be published. It is for this achievement
that Lovelace is known as the first computer programmer: it sounds extravagant, but
as the first person to write and publish a full set of instructions that a computing
device could use to reach an end result that had not been calculated in advance, Ada
was indeed the world’s first computer programmer.
But there’s more: Ada’s grasp of the potential represented by the Analytical Engine
far surpassed Babbage’s. She understood the plans for the device as well as him, but
was better at discerning and articulating its promise. She looked beyond the huge
mathematical tables of perfect numbers that Babbage intended the machine to
calculate. Her great realisation was that if the Analytical Engine could manipulate
numbers, it could also manipulate symbols.
Modern computer programming is underpinned by symbolic logic. This was then still
an emerging field, but Ada’s friend and tutor, the mathematician Augustus De
Morgan, was at its forefront. It was symbolic logic that would allow the Analytical
Engine to take on very complex tasks, processing an algorithm and produce an
answer that had not been pre-programmed in. Ada wrote, “The bounds of arithmetic
were outstepped the moment the idea of applying the cards had occurred; and the
Analytical Engine does not occupy common ground with mere ‘calculating machines.’
It holds a position wholly its own; and the considerations it suggests are most
interesting in their nature. In enabling mechanism to combine together general
symbols in successions of unlimited variety and extent, a uniting link is established
between the operations of matter and the abstract mental processes of the most
abstract branch of mathematical science.”