Thank you very much, absolute pleasure to be here.
We all know why we're here.
We're here to celebrate the 200th anniversary of the birth of Ada Lovelace.
And in 1843, Ada Lovelace published a paper called Sketch
of the Analytical Engine, which described a vast mechanical calculating engine
designed by the mathematician and lifelong friend of Ada, called Charles Babbage.
And any claim to fame that Ada has, as a pioneer in the history of computing
is based on the contents of this particular paper, this sketch.
It was her only substantial publication,
she died 9 years later in 1852 at the age of 36.
So, everything we wish to say, and
that is not about the huge variety of other interests.
Everything we would need to say about her as having a role or a place in the history
of computing is based on this specific and single publication.
And that's what we will be hearing a great deal about in some of the coming sessions.
So what I propose to do is something very specific.
What I propose to do is tell you enough about the analytical engine for
us to make a judgement about the nature and the value of what Lovelace did.
So it's quite narrow.
I will not be dealing with whether Lovelace's
relationship to drugs was entirely medicinal.
I will not be dealing with whether her gambling addiction was an altruistic
attempt to restore the family fortunes by recovering some of the huge amounts of
money her husband William King had expended on his bizarre and
vast building projects.
>> Might want to put in the slide to show.
>> [LAUGH] >> Not yet.
>> [LAUGH] >> [INAUDIBLE]
>> [SOUND]
Oh.
We need to go back to the beginning.
That's it.
>> Do you want [INAUDIBLE]
>> The title slide before that is the one we need.
>> Yeah, it's [INAUDIBLE].
>> That's it.
>> Okay, well when you need it, just go into, click the next one in there.
>> I'll use this.
>> When do you want the next slide?
[CROSSTALK]
>> [APPLAUSE]
>> So, some of the things i will not be
dealing with in my narrow compass of dealing with only analytical engine,
is the various things that have stories, narratives, that by her.
And related drugs, the questions whether her attempts to gamble were actually
quite altruistic to restore the family fortunes, to recover monies that her
husband expended on these vast building, construction projects on his many estates.
Whether her mother Anna Milbanke was an enlightened educationalist or
whether she was in fact a vindictive disciplinarian.
And finally the construction of her reputation in the modern age.
There's a feast of papers to follow that's gonna address these many dimensions of
Lovelace's life.
So what I'm concerned specifically with here this morning is,
what was it about Babbage's machine that so seized Lovelace's imagination?
And what was it that she said about it that was supposedly so remarkable.
So, it's quite a narrow compass.
And now.
Babbage met Lovelace in June 1833 as a society due.
[COUGH] This image on the left is taken
from a portrait that was done for her coming out party.
As a member of the aristocracy, she was entitled to be represented in court and
that which was on the 10th of May.
And this dates within three weeks of her meeting Babbage,
Babbage is slightly older.
Lovelace was 17, Babbage was 42 at this particular meeting.
And Lady Byron wrote that Ada was delighted with Babbage,
she was full of animation and talked about his wonderful machine.
12 days later that's on the 17th day of June,
Lady Byron and Ada Byron visited Babbage at his house in Dawson Street and
had a demonstration of what was built of his first difference engine.
And this was Lovelace's first exposure to both to Babbage,
and his concept of his engines.
At the time they met,
Babbage was a prominent and controversial figure in scientific life.
He was well known for several mathematical publications, 13 in fact before he was 30.
He was ambivalently famous for the invention of his machine which he failed
to build at massive government expense.
He was capable of great charm, and also of brazen rudeness.
He felt somehow that being right entitled him to be rude.
He was fiercely principled.
His enemies could do no right and his friends could do no wrong.
He was capable of [COUGH] excuse me,
incontinent savagery in his attacks on the scientific establishment
about what he alleged to be their poor superintendence of science.
He was in fact the enfant terrible of science well into adulthood.
So we have a complex and imposing figure.
Ada was keen to meet him, she was keen to make her mark in the world of ideas and
to be exposed to cultural and intellectual protagonists, and
Babbage was certainly a big figure and encouraged by her mother to meet.
So the question is, back to our narrow program,
what was it that Lovelace saw on that day in which Babbage demonstrated,
amongst other things, his theory of miracles?
What does the engine do?
How does it work and how did it come to be?
Now we're going to spend a bit of time in
engine one because central ideas about the core ideas in computing.
Recognizable in modern computing were actually developed as a result of Baggage's
speculations on differences engine one.
In virtue of being an automaton, in virtue of it being automatic.
And we will spend briefly some time on this.
It also helps to understand what is
involved in the implementation of mechanical logic,
of which there's several examples outside by projects that are ongoing now to see
how else might Babbage have done that, had he not done it in the way he did.
So, how did it all come to be?
What were Babbage's aspirations, what were his expectations,
why was he doing this at all?
The genesis episode is captured in a well-known vignette of Spring 1821,
Babbage and Herschel are sitting and checking
the accuracy of mathematical astronomical tables that have been calculated by hand.
Increasingly errors become evident.
Babbage becomes increasingly agitated by these errors and he, as it were,
clasps his hands to his head and says,
I wish to God these calculations had been executed by steam.
Steam being a metaphor both for
the infallibility of machinery and as a metaphor for industrial production.
The idea is that machines would be a factory of numbers and
his son actually says, the machine be a manufactory of numbers.
So we have number as industrial product.
It's the extension of the industrial metaphor from the production of goods,
the production of if you like, mental products,
the transition from matter to mind, from thing to thought, if you like.
So that's the genesis episode.
So Babbage became completely enraptured in this idea,
became ill with the intensity with which he works, and he immediately sat down and
started devising how he might do this.
And rushed down to Hershel, in Slough, a few weeks later, with some manuscripts,
which we're going to see for the first time today.
So the engine that Babbage first designed was difference engine number one, so
called because of the mathematical principle on which it's based,
which is the mass of the finite differences.
This is the piece that Lovelace saw, it is one-seventh of the full-size engine.
It is full scale, but it is one-seventh of the full engine.
And that's all that was built in Babbage's lifetime.
In fact, it's the most substantial artifact of a half a century of effort,
of design and development effort, that Babbage undertook.
So how does it work?
Well, number values are represented by the rotation, the angular rotation,
of figure wheels.
So we can see that these columns of figure wheels, number wheels,
are represented by the angular rotation.
A multi-digit number is represented by a column of wheels,
that we can see on the right here.
With units at the bottom, tens above, hundreds, and so on.
So if you wanted to represent 2.5 you do not take a wheel and
put it between 2 and 3.
You have a wheel which has a two on it and
a wheel which has a three on it and they sit as a stack.
So this is digital.
Only whole numbers are legitimate and determinant values.
Now we know that wheels are not digital devices.
All the intermediate values are viable and stable.
So, the machine would be infallible, not in virtue of being mechanical.
It would be infallible because Babbage could make control mechanisms that would
enforce digital operations.
So, the idea, how he dealt with the issue of certainty was to
ensure digital operations through the control mechanism.
And this is what occupied a great deal of Babbage's efforts to ensure
that the integrity of the calculation could not be compromised, and
we're gonna look at a mechanism by which he manages to do that.
This is a mechanism of difference engine one, and we can see there a sprung lever.
This is a lever with a spring there,
which biases the lever, into the space between the lobes.
So, you can see that as this wheel turns, the sprung lever biases it so
that it favors resting in the position that is an integral whole number.
Now, the lever performs three functions.
It performs error prevention, error correction and error detection.
So, error prevention, if the wheel is slightly deranged,
the roller will slightly, we can look at that slightly more closely.
The roller will push in between the lobes and centre it.
If the lever is locked, it will prevent the wheel deranging
during periods in which it's not supposed to move.
And if the wheel is on the cusp, the top of the lobe,
it indicates that this wheel is in an indeterminate position, the integrity of
the calculation is being compromised, stop the machine, jam the machine.
So jamming is not the catastrophe you would think it is.
Machines that were subsequent --, they are designed to jam.
Jamming is a form of error correction.
It's an alert that the integrity of their calculation has been compromised.
So these are digital wheels.
It's evident, it's clearly here that this is an attempt to digitize and
discretize mechanical motion to ensure the integrity and accuracy of results.
That's how I dealt with the issue of reliability.
Now, this was not the result of a failed series of trials, going digital.
It was evident in the very earliest conception of the machine.
Because we have what we believe are the very first scribblings after Babbage's
mechanical epiphany in spring 1821, where he wrote down what he might do, and
he rushes down to Herschel to go and explain what his ideas were.
And we belive in these,
the manuscripts are in the Museum of the History of Science in Oxford.
You can see immediately, this is the very earliest document, he thought Babbage
himself thought it dated from 1820, we know it dates from early 1821.
You can see immediately that there are lobes on these wheels.
There's a ratchet, he talks about click wheels and ratchets.
There's the sprung lever and if we look at the next one we can see the steel roller,
the leaf spring, and the lobes.
This was embedded in the very earliest conception that the machine was
gonna be digital.
That's how he dealt with uncertainty.
What does the machine do?
[COUGH] The way the machine works is you enter
initial values that you calculate by hand onto these wheels by hand.
You then crank the handle at the top of the top plate, which is here.
And the machine adds a number on that column to that column to that column
according to the method of finite difference which we needn't go into.
But, what it allows you to do is calculate a pulse of mathematical expressions called
polynomials by repeated edition only and eliminates the need for multiplication and
division in which you ordinarily would be needed to do such calculations.
So that's the value of the principle and
what the machine does is repeated addition by cranking the handle.
This is probably the most celebrated icon in the pre-history of computing.
It is the first machine to successfully incorporate mathematical
rule in mechanism.
You crank the handle and exert physical energy, and you can get results which up
to that point in time could only be achieved by mental effort.
The idea that the machine was thinking was not lost on Babbage or his contemporaries.
Lady Byron, who with Ada visited the machine, wrote in her diary,
last week we saw the thinking machine, for such it seems.
Harry Wilmot Buxton, a junior colleague of Babbage's wrote, the marvelous pulp and
fiber of the brain had been replaced by brass and iron.
He, Babbage, had taught wheelwork to think, or to do the office of thought.
So we see the extension of the industrial metaphor for ideas of mental product.
What were Babbage's expectations of this engine?
What did he think they were for?
And Babbage was 28 when he first conceived of this engine.
And up to that point his intellectual life had been dominated entirely by
mathematics.
[COUGH] From school, he did the tripos at Cambridge and then came up to London.
And by the age of 29 he had published 13 mathematical papers.
He was a man steeped in mathematics,
which he confessed subsequently was his first love.
So we have a mathematician.
For the first time with an automatic machine, a machine capable of autonomy,
speculating what the implications and potential for machine computation was.
And between June and December 1822, he wrote 6 papers, and
none of them have to do with Herizon tables.
They're all to do with mathematical potential, and
what he writes is quite remarkable.
What he says is the machine can solve equations.
And I don't know if there's time but let's very briefly say how it solve equations.
The way you solve an equation in analytic school is you equate the root of
an equation is the value of the independent variable that reduces
the expression to zero.
Now if the machine is producing a result on the last--
the machine is producing a result on the last--.
For example on the last computation, each time you crank the handle,
it produces the x value of expression.
You have found a root when the all zero state appears on the last.
If the result is zero, then the number of times you crank the handle is the value of
independent variable.
So he suddenly sees the idea of computation as systematic method for
the first time.
And he was the first person to be in the position to actually speculate
on these grounds.
So, the machine can solve equations.
It can find the value of a series for
which there's no general expression of the.
You crank through,
you find the value, you don't need to know how to calculate that analytically.
There was heuristic value.
You could set the machine up to do various things, for
which there was no analytic expression.
So there were new series you could produce,
because you had a generative rule that was mechanical, but not analytical.
He saw that there'd be a need for a branch which we now call numeric analysis,
of analyzing problems to optimize them for machine computation.
So he used an example of what he writes a mathematical expression, and
say, in that form, you need 35 multiplications in one division, and
you can manipulate that to produce a mathematically identical expression, and
use five multiplications and one addition, for example, as an example, he gave.
So, you would manipulate things to optimize it for machine computation.
And he predicts that without machine computation, science with
through what he calls the overwhelming encumbrance of numerical detail.
So he sees the potential reliance of science on machine computation for
its own survival.
So at the time Ada Lovelace comes into the scene, enters the scene in June 1833,
Babbage had been working on his machines for 12 years.
He was an accomplished and published mathematician, and
he had an opportunity in his very early days, 1822,
to speculate about the implications and potential of machine computation.
Babbage, as we know, never completed any of his machines, but
there is an epilogue, there is a machine that was completed to original designs
which is difference engine number two designed 1847.
I had the good fortune to be responsible for the construction of this machine, and
I mentioned that there is an epilogue.
This is a machine that weighs five tons, it has 8,000 parts.
It works exactly as Babbage describes.
It took 17 years to build, and it's at the Science Museum and
can be demonstrated if anyone is interested.
I have a four-minute video of the thing operating.
It is quite a sumptuous spectacle to see.
It’s a mechanical choreography, a ballet of mechanical extraordinariness.
And since the title of this lecture is Visions of Computing,
we're talking about a literal vision it is difficult to see how one would not,
if one was a victorian contemplating such a machine,
be inspired by the potential of what these machines might do.
Babbage invented, I'm not gonna spend much time, because Adrian Johnson is gonna be
speaking about a project which touches on all this.
Babbage devised some symbolic language called mechanical notation,
he was inordinately proud of it.
It's fate was that of spectacular obscurity.
The point is there is no comprehensive grammar book, there is no complete
lexicon, and nobody speaks the language, and if you think of the engine as a text
and you think of the notation as a text, which are expressions of a unifying idea,
we can use our intimate knowledge of the engine to decode the notation,
which is what we found out in Adrian when he's talking about that project.
I was saying about sumptuous spectacle, that's the back of the engine.
And this is the kind of notation.
It looks like mathematics.
It is not a calculus.
It isn't scripted notation.
And that's what we can now read as a result of having built the engine without
reference to the notation.
So that's just a trailer for a later presentation.
[COUGH]
The analytical engine.
This is what Ada described.
This is plan 28, 1840, which is more or less the state of the engine
at the time Ada entered the scene in a very intensive way.
When she started studying mathematics again,
returning to mathematics having got married and having had three children.
And this would be roughly the state of the engine which that Ada had in her mind
when she was describing the machine and writing her notes.
And we'll just briefly look at some of the features of it.
It is the best known of the drawings because Babbage actually there are very
few drawings that get an overview of the entire system.
So, we just looked at some of it's features.
This huge central area is the mole, which we now call a central processor.
The linear area on the right is called the store, which we would call memory now.
The physical scale of this is absolutely astronomical, well,
not literally but figuratively.
This is about six foot across in diameter.
The mole, it's about 15 foot high.
There were 17.
The store here, if we look at each of these, so this is the plan,
it's looking down on the machine.
So each of these circles is a column of figure wheels.
So v1, v2, these are called variables,
are columns of figure wheels in the store, in the memory.
So each of these things is a column, and we need to know that.
And I'm gonna ask you just to remember this brief configuration here of
the memory because we're gonna map this onto Ada's program.
And so, there's the mole which is the central process,
the separation of the mole and the store which is a feature for
normal architecture described in 1945 and which is dominated complete
design to the present day that is present and inherent in this design.
And the machine had enormous capability.
It had an internal repertoire of automatic instructions.
So it could do automatically division, multiplication, subtraction,
automatically.
You give it a macro instruction, it did it through internal manipulation.
The store is truncated here for reasons of drafting convenience.
There are 17 registers, v things shown here, a bunch up top and
a bunch on the bottom, but it's truncated.
The machine with 17 variables would be 18 foot long.
Babbage spoke of an entry level machine with 100 variables,
which would be 45 foot long.
And he spoke of machines with 1,000 variables.
You're talking about something extending roughly the width of this theater.
And so, when we talk about a quantum leap in logical conception, and
physical scale, we mean this absolutely literally.
The machine, one of it's revolutionary features was that it could be
programmed using punch cards.
And here's an example of punch cards.
Those cards solve first order simultaneous equations.
The cards on the right are operation cards,
they tell you what arithmetical operation to perform.
The cards on the left are variable cards,
which tell you where in the memory to find the upper end.
Where is what you need operate on to be found and
where should you put the results.
There are other kinds of cards, but those are the main kinds of cards.
And this is one of baggages' card readers, You can see here it's, draped over prism.
They are fan-folded, stitched together with ribbon base board cards,
the pool of cards is there.
And as this prism approaches these levers.
If there is a hole the lever goes through and takes no action.
If there is no hole, the lever is activated.
And so, that is how the communication between punch cards and the machine works
by interrogating whether there is or is not a hole in the series of cards.
And there's many, many of these card readers distributed
around the machine to read the various piece of cards.
And I'm hoping that Sidney Padua in tomorrow's session will show us
some renderings of the complete engine, how it looks like in 3D using,
of which some of these machines are present.
So, we know from Babbage that the notion of punch cards came
from the Jacquard loom.
The Jacquard loom is a way of producing complex fabrics where the pattern of
the fabric is contained in the card.
Now, Lovelace writes, and this is a well known quote of hers,
we may say most aptly that the analytical engine
weaves algebraic patterns just as the Jacquard loom weaves flowers and leaves.
Now, this is usually taken as some poetical flourish.
But there's an absolutely fundamental idea which is not usually associated with
the Jacquard loom that I believe Lovelace, as you shall see later, absolutely grasps.
There's the notion of universality and
of specificity of function, even if I can pronounce that correctly.
The idea is, the machine, the loom can make any pattern.
What specific pattern it produces is in the software, is in the cards.
And loveless understands that the notion of a universal machine, and
specificity of function which is contained in software in programs.
See how that unrolls and unravels and is folded into the concept of.
And so, when she says the analytical engine weaves algebraic patterns
she's talking about a generalized algebra machine that can do
any form of mathematics provided the machine can be programmed to do so.
A poetic flourish it is.
But I believe it actually embodies quite a substantially more profound idea.
The machine can do automatic micro-programming.
This is one of the barrels.
I wont go into that.
But basically, the machine is a fetch-execute-cycle.
And if you say print this, fetch that, do that what ever it does.
It does it automatically.
And it does it using barrels which are, if you like, internal words,
which are these things.
They can be fifty to 100 of these verticals.
There are studs in these verticals.
And as this barrel moves forward it either activates or
does not activate these levers depending or not whether the stud is present.
Now, for instance, whether this stud is present will produce a conditional branch.
If the stud is present when that barrel advances, it will not activate lever C.
If the stud is present, because that lever's flopped into place,
then it will activate that.
And that is a conditional, that is a condition that has been met.
If a condition is met, insert that slug so
when the barrel advances it activates the lever.
If that slug is not inserted, it takes no action at all.
And because this thing is on a fixed cycle, that condition can occur.
So, it can cater for pre-existing conditionals.
It can do multi-wave branches.
There are other branching mechanisms which are down here in the deducing apparatus.
And each time it goes backwards and
forwards the barrel turn into its next word to execute the next word.
And what that next word is depends on the conditionals and the previous word.
So, you can see it's complex.
It's inherent.
That is how it performs its internal, automatic operations.
Now, Babbage was sufficiently advanced in his,
with the design ability to start programming in 1837.
And between 1837 and
1840 he wrote twenty-four programs, which include various examples of which
are the solution of multiple simultaneous equations of preferred order.
He also has recursion, or what he calls recurrence relationships, which require
repeated sequence of operations, cause the machine can actually iterate.
It can back off a sequence of operation cards and back them forward again.
So it can repeat the same sequence of operations multiple times.
It's iteration.
And so, he has recursion.
Three recursion examples in which each next result requires the previous
result and repetition of the same set of calculations.
So, this is 1837.
And we're going to look at some of these programs now.
That's all he ever built.
It's an experimental model under construction at the time
of his death in 1871.
This is one of Babbage's earliest programs.
August 5, August 1837, we're talking about, yeah?
And it's to solve two simultaneous equations,
first order simultaneous equations.
So you would need to solve for x, solve for y, and
eliminate your two variables by substitution, and so on.
So his first program looks like that.
This is his program.
And we're gonna look at, briefly, at the formats.
So, we'll just expand that ringed area which is that.
So, let's look at some of these features.
And this will help us when we get to Ada Lovelace's famous Bernoulli example.
So, and firstly we have line numbers.
Anyone who used a line editor in the old days will recognize that.
You then have what operation is [LAUGH] yes,
there are people who know line editors.
Then there's what next operation is performed.
So, there are four multiplications performed in order,
followed by subtraction or division.
Right.
The next column tells you what variables, what is being acted on.
And there's our reminders up here.
And there we can see V1, V2, V3.
I'll ask you to remember the format of that memory with it's Vs,
with it's vertical content figures.
These are the contents of the various variables.
And the table here tells you what's being operated and
where it's being placed in store.
And just to show you how that maps on to the I thing.
That was the original diagram.
And you can see that V, the variables, that's the stores.
We now call them past registers.
Registers in the store are mapped onto each of these columns which tell you
what is the contents of each at any stage.
So, we have essential features of a program here,
which are it specifies each step of the operation.
It tells you which operation is performed, on what is it performed, and
where the results are placed.
And that is what this diagram does.
Now, in what sense is this a program?
Now, neither Babbage nor Lovelace used that term, nor
do they use words like algorithm.
So, if we look at a very convenient,
a really understandable definition of what a program is is by Tom Hague and
Mark Priestly who said that, program is a single series of instructions that could
be fed into a general purpose computer to automatically control its operation.
Very simple.
This is clearly not a program.
It is a series of arithmetical instructions.
The program is in the cards.
There is no control information in this program.
There's no control information.
It just tells you what the series of instructions are and
it's like a state diagram.
So, it's more accurate to call it perhaps a trace.
And that's a word that Lovelace uses.
Or a simulated trace.
Or a walk through.
Or even a state diagram to tell you what state the machine is in.
But I think there are a number of features that do fit comfortably with the idea
of order programs.
Sequential operation, defined rules and data structure.
And there is, primarily, an algorithmic intention in what this is doing.
So, I don't think we'd be committing a great intellectual crime if we
did continue to refer to this, and Lovelace's,
as a program bearing in mind that our definition of a program is
an anachronistic one based on what we now understand a program to be.
So, finally, we get to Lovelace's sketch, the sketch of the analytical engine.
Firstly, there's one thing we need to do before that.
Babbage disdained to lecture.
He was heckled once when he lectured.
He was, as a young man, he was crippling shy.
And for whatever reason he never lectured in England.
The only time he ever lectured on his analytic engine was in 1840 when he was
invited by Giovanni Plana to attend a convention in Turin.
And there he expounded on his analytical engine.
Present was Luigi Menabrea, an Italian engineer,
subsequently the Prime Minister of Italy,
who then wrote an article in French, published in 1842 of a description.
And included in Menabrea's paper are two programs, and
they're exactly the examples from Babbage's 1832.
That's Menabrea's logical translated new English by Lovelace,
and a tiny alteration.
But that's effectively the format of Menabrea's program.
Which was taken directly, it's the same example of solving two linear simultaneous
equations, from Babbage's 1837 thing.
So Babbage went to Tyrone, explained things, used these as examples, and
this is embodied in the first publication which Lovelace, as you shall see,
subsequently translated.
So we come finally to, what did Ada do?
Let's get the time frame straight.
So, Lovelace is born 1815.
She married William King, 1835.
She was then Ada Byron and then she became Ada Augusta King.
And in 1838, William King was elevated to an earldom.
and so Ada Byron, Ada King, became Ada, Countess of Lovelace.
That is the account for the multiple names by which she's known by.
And the period we're talking about is the period in which she wrote the notes,
which is 1843, six months between February and
August there was this starburst of activity.
Where Ada and Babbage, where Lovelace and
Babbage were involved in a frenetic collaboration involving sometimes three or
four exchanges per day in addition to visits, during which Ada wrote the notes.
So Ada translated Menebrea's article, possibly on the suggestion of Wheatstone,
without Babbage's knowledge.
Babbage is presented with his fait accompli and
he says why didn't you write an article of your own?
And she said it never occurred to her, and he said add the notes and
that is how Peter's famous sketch came to be.
So we're talking about that six month period of extraordinary collaboration.
During that period, their relationship is very interesting, she becomes bossy,
coquettish, she's self exalting about the excellence of her own work.
She gives him stern instructions, she badgers him for explanations, and
she threatens him with her annoyance if he does not comply.
And if he mixes up her draft and makes gratuitous alterations.
It was a very friendly, productive collaboration.
>> [LAUGH] >> And
there was no ill intent in it at all, except for
one spat which had nothing to do actually with the content of the material.
So Sketch was published in August 1843 in Taylors Scientific Memoirs and
Lovelace was 26 years old at the time.
Babbage, as we said, was 42 when Lovelace was 17.
Babbage was one year older than Ada's mother.
And finally the famous paper, Scientific Memoirs,
it was a journal which specialized in bringing to English speaking readers
foreign scientific papers and Wheatstone actually sat on the committee that was
responsible, if you like for lobbying for
material, which is possibly the roots of his suggestion that Ada should do this.
The title bears Menabrea's name.
It does not include Lovelace's name.
But, each of the seven notes, notes A to G, that Lovelace included are signed with
her initials, AAL, except for the last one which is signed ALL, which is a typo.
>> [LAUGH] >> So
we can see that, from the page numbering,
that the length of Ada's notes is twice the length of Menabrea's original paper.
Babbage says it's three times, but I counted them, not the words, but
the pages.
The note's essentially expansions and elaborations of Menabrea's article.
With two exceptions, mostly note A and note G.
Note A is philosophical, which is of interest to us, and
note G is the Bernoulli example, which we're now gonna look at them.
Then we're going to return to note A, which is the philosophical side.
This is the Bernoulli formula.
It doesn't matter if that means nothing to you, and right now
sitting there is responsible for that nice form of that particular equation,
because Lovelace does not include it.
This is the formula that Lovelace derives, doesn't matter how.
This is the Bernoulli expression.
What she's calculating is B.
Each next B in the series defined by that, for which you need all prior Bs and
have to recalc all the prior known, already calculated Bernoulli numbers,
which you then produce a weighted sum by these As,
which are the coefficients, which have to be recalculated for each Bernoulli number.
So that's actually,
it's an ambitious calculation to do, computationally and manually.
Bernoulli numbers were known from the 18th century, five minutes, I'm in trouble.
>> [LAUGH] >> Thank you.
Bernoulli numbers were known quite well.
They were calculated by hand.
They were published first in 1713.
So, we'll now look at the choice of the Bernoulli example was Lovelace's,
even though Babbage had written to Humboldt earlier on about
using the engine to count out the newly numbers.
So, Lovelace writes to Babbage and said, I have it in mind to include a Bernoulli
number in one of my notes, send me, she says, the data and the formula.
Sounds like an imperious thing, but it is actually a friendly request.
And the date of that is slightly uncertain, but
it's thought to be around May, and if you go back to Babbage's scribbling books,
on the seventh of May, we see his thoughts lingering with Bernoulli's numbers.
And Babbage records that he sent this to Ada, and
Ada sent them back to him, because they found a grave mistake.
And if we look at the thing there are two mistakes.
One is the relationship of that term is ambiguous.
It should be present, but it's crossed out.
And if we go to the next slide, that coefficient is wrong.
So just the people were puzzling what the reference to the error was, was,
I believe that is the error.
So, let's get on with the thing, the actual program.
This is what the fuss is all about.
>> [LAUGH] >> This is Ada's program.
[INAUDIBLE] of the Bernoulli's number solution,
calculating that equation and we can see it has all
the essential features of the Menabrea, which is derived Menabrea example,
which are derived from Babbage's programs from six, seven years earlier.
So let's just look more closely at that.
We can see the same structure.
The linear where the variables are, or how they're arranged in the store.
And we can map that exactly as we mapped the other one.
That's mapped in to it, and so on.
The essential information is all there.
There's an index, a double index which is in line two.
If we just look at line two very briefly.
This says, the contents of in register four subtract the contents,
subtract the contents of register one, variable one from the contents of
variable in register four and put it in variable four.
So your overwriting one of the upper rands with the result.
They have no notation to do this.
And there's the double notation, the leading and
trailing index is a way of following what Lovelace calls
an index of location which is where it is, which is the bottom index.
And an index of alteration which is the upper index.
And if we look at that, this is what they were trying to avoid.
Mathematicians hated statements of that kind.
It was an offense against mathematical identity.
So we have a flag here, that in order to code computers you needed a new notation.
There are other ways of doing it, could be an assignment arrow.
And they were so concerned about this that Victorians actually invented emoticons to
express this.
>> [LAUGH].
>> And that is the form that Ada uses, which is leading and
trailing index To show the index of location, where it is and
index of alterations so that V4, the contents of variable four has
been changed in the process of that calculation.
And Bernard, who follows this session if I ever finish immediately will
be elaborating on aspects of the iteration, so let me wind up now.
Okay, where does that magnificent notation come from?
All right, we go back to Babbage's thing and we look in this little table and
there is the double index.
And he used Roman numerals and not, later he changed them to new.
But the point is in his earliest programs he already saw the need for a notation,
or the notational need for showing index of alteration.
Say how do you express the fact that something had changed,
how can you track back, how through all, what the contents of that register
had been through the history, through the trajectory of the calculation.
So let me get to what I'm getting at here.
The seemingly dismal conclusion is that it is very difficult to identify features,
Lovelace's Bernoulli example that do not have precedence in
Babbage's earliest programming examples, or the derivative example to Menabrea.
It is very difficult to find any feature of this that is not been.
Now I'd like to emphasize,
that the purpose of doing this is not to discredit Ada [LAUGH] Lovelace.
[COUGH] Ada Lovelace, never made any claim to be the first programmer.
She makes no claim for having any precedence for being responsible for
any precedence any creation of programs.
This is a construction, it's a confection, of our modern age.
And I say this is not directed at Lovelace, who is blameless in this.
It is directed at people who have followed and
perpetuated this particular perception.
As an historian, I can be offended but
I can be offended in the privacy of my own attic.
There is something more important to be offended about here, that to focus and
to concentrate on Lovelace as the first programmer, masks actually what her real
contribution was which I would argue is vastly more important than adding yet
another example to Babbage's pre-existing set of programs.
And I will conclude by saying what it is I think Lovelace's three contributions are.
Apart from the fact it's contradicted by history, the first program thing,
this is what I believe Lovelace,
which is masked by this obsession with this Bernoulli program.
First, the leap from calculation to computing,
which is a leap that Lovelace did and nobody else did.
Secondly, the recognition that computers are difference in kind
from anything that had gone before.
Finally, the kind of discourse that sketch represents.
So firstly, the transition, [COUGH] excuse me, from calculation to computing.
It was Lovelace who articulated for
the first time that number could represent entity other than quantity.
She speaks that number could represent letter of the alphabet, note of music.
It was she who saw that the power and
potential of computers lay in the ability of the machine to manipulate
the representations of the world contained in symbols.
She made the connection between the machine and the world.
[COUGH] Machines can only operate on numbers.
If we assign meaning to those numbers the machine operates on the numbers.
We map those meanings back and the machine is saying something about the world.
So those simple ideas it's very difficult to put yourself in a position to the point
which that wasn't true but and then it wasn't and we'll see presently or
very briefly why.
So she wrote, the machine might act on other things besides numbers posing for
instance that the fundamental relations that pitch sounds and
the science of harmony and
music composition were susceptible to such expressions and adaptations.
The engine might compose elaborate scientific piece of music and
any degree of place in extent, so that's a well known quote of hers.
Now, what's the choice of notes traditions
because there's a quantitive relation between frequency and
pitch, is there a trick here, that this is not a generalized thing?
This is not generalized thing, there is enough in there to
show on very close reading that if central idea of symbolic representation of things
other than number is present and can be defended.
Secondly, that is historically known on different kind [COUGH] she wrote that
the analytical engine does not occupy common ground with mere
calculating machines, it holds a position wholly its own.
And if we jump to Minsky, 1967, Minsky's saying of computer and
computer like machines, neither history nor philosophy nor
common sense will tell us how these machines will effect us for
they do not work as did the machines of the Industrial Revolution.
This is LoveLace, seeing the difference between the two specific function and
universality of the touring condor most that she saw embodied in the jack-eyed
loom which is why that poetic flourished about how the break patterns,
I'm nearly done.
[COUGH] Finally, what kind of discourse this is, the moment we start reading
the notes, we all lifted our job the technocentric writing of Babbage about his
engines into a different conceptual discourse, we are talking about ideas.
Lovelace is asking, what does this machine signify?
What does it mean?
And to what extent is what it signifies important?
No where in his published writing or
any of the manuscripts that I've looked at does Babbage right in this way.
Nowhere does he talk about the engine outside mathematics,
being bound by number.
[COUGH] Extraordinary in the scope and scale of his work.
There is that dimension which is not there.
How was Babbage influenced by Lovelace?
This is the very last little bit.
Babbage was very much taken with her ideas and to the extent that actually,
about note A and note G specifically,
and to the extent that he didn't want to actually return her drafts.
He wanted to keep them and he writes to her,
said I'm loathe to send these back to you.
And he wrote, Babbage writes, the more I read your notes,
the more surprised I am at them and regret at not having earlier explored so
rich a vein in the noblest metal.
So he's saying, golly, these are marvelous things.
If he was influenced at all, there is not the slightest evidence for it.
Not at all, because in 1869, two years before his death, he sat down.
Well, I'm assuming he wrote when he was sitting.
And he attempted to describe the general description of the engine and
three times he's tried to, in May and December.
1869, two years before death, he tried to convey to the world what the purpose of
this engine was and each one starts with, we can get there.
The general description of the analytical engine, May, 1869, and
we can blow that up.
And he says, the object of this engine is to execute by machinery,
all the operations of arithmetic,
all the operations analysis and print any or all of the calculated results.
There is nothing, other than mathematics in his conception.
This is after 50 years of mature contemplation.
So, it's Lovelace who made the connection between the world and the machine.
If we return to the forgotten title of this thing which is
Two Visions of Computer.
We have Lovelace's vision, which I've described as the ability of the machine to
manipulate according to rules, reputation of the world containing symbols and
we have Babbage's conception which is boundaried by mathematics.
So we have Lovelace who sees the potential of the machine with an outreach way beyond
the boundaries that Babbage sees, and way beyond mathematics.
And it's for these ideas that Ada Augusta, Countess of Lovelace,
deserves to be celebrated as fully as she is.
Thank you.
>> [APPLAUSE]