Today, the School of Computer Science at St Andrews put on this year’s Distinguished Lectures. The lecturer was Ursula Martin, and she spoke about the history of computing, or more precisely, “What every computer scientist should know about computer history”.
The lectures were held in the Byre Theatre, the third one in the presence of the Principal, Professor Sally Mapstone, herself a historian. It seems they were compulsory for undergraduates on certain courses; the auditorium was packed, with very few spare seats, despite the fact that relatively few staff from either Computer Science or Maths and Stats were there.
But I want to talk about the contents of the lectures, not the surroundings.
There were three lectures. The first two focussed on important people in the story, Charles Babbage and Ada Lovelace, Alan Turing and Grace Hopper. The third tackled two more nebulous topics: why did Ada Lovelace’s mathematical abilities polarise later commentators to the extent they did, and what happened to the women who were in Britain’s computing business in its early days?
The introductory slide was a “timeline of computing”; Ursula invited us to consider what was missing from it. As she said, the development of computing was certainly not a single and inevitable strand. For example, about the time that Tim Berners-Lee was inventing the World Wide Web, there was a possible rival called Gopher developed at the University of Minnesota. It lost out partly because the University took a hard line on intellectual property rights. But things might have been different …
Charles Babbage and Ada Lovelace
We began with a picture of the Great Exhibition of 1851, the profits of which still fund doctoral and postdoctoral positions. At the time, Britain was the hub of a vast empire. Running an empire requires mathematics, and a lot of calculation, much of which was done using log tables. Babbage wanted to make log tables “as cheap as potatoes”.
So he designed the Difference Engine Number 2, which used 31-digit numbers, and could compute 7th order differences (that is, fit degree 6 polynomials). His description of the Engine amounted to the invention of a hardware description language (in modern terms). He also proposed an Analytical Engine; it never got off the drawing board (or was even completely designed), but it was intended to be a general purpose computer (in the modern sense); it even conformed to von Neumann architecture (a single CPU, instructions and data fetched from memory). It was to be programmed using punched cards, an idea borrowed from weaving.
As is well known, Ada Lovelace wrote a 70-page paper which described how the Analytical Engine would work. Ursula showed us detailed diagrams of how it would solve two simultaneous linear equations, and (more difficult) how it would compute Bernoulli numbers using the recurrence relation (which she derived from the usual formula).
The program solving simultaneous linear equations reminded me very strongly of assembly language programming. You have to choose the register to store every intermediate result. High-level languages free us from those details!
Lovelace and Babbage (especially the former) also speculated more philosophically on the capabilities of the Engine. In Lovelace’s words, “the cards are able to reproduce all the operations which intellect performs in order to attain a determinate result”. On a generous interpretation, this says it can compute anything which can be computed, an idea taken up by Turing.
They also speculated on using the Engine to process non-numerical data. In this connection, Ursula showed us a page from the archives on which Babbage and Lovelace had been doodling about the Königsberg bridges and magic squares. These are two topics associated with Euler. In my mathematical quotes, you will find part of a letter Euler wrote to Carl Ehler, mayor of Danzig, on the Königsberg bridges, denying that this is mathematics (and, by extension, denying that topology is mathematics). So this is conceivably a case in point. I don’t know if there is any information on how the diagram of the bridges would be input to the Engine and what algorithm it would use to solve it. Probably they hadn’t got that far.
Lovelace also says “The machine can do whatever we know how to order it to perform”. In other words, it cannot be creative. Ursula thought this might have been her adopting a safe position in the theological arguments of the time.
In a curious footnote, a slightly cut-down version of the Difference Engine was built by the Swede Per Georg Scheutz, who even sold one to the British government.
Alan Turing and Grace Hopper
Turing quoted Lovelace’s remark about “all operations which intellect performs”. Unlike her, he argued that a human philosopher can do no more than this, and so a machine is just as capable of thinking as a human.
Turing also proposed getting the computer to correct and avoid bugs in a program, a precursor to Tony Hoare’s logic of computation.
Incidentally, it is claimed that Grace Hopper found the first bug; Ursula showed us the entry in the log saying “Moth in relay”.
Turing had a page in the manual of the Manchester computer devoted to getting the computer to play music, later realised (with Christopher Strachey) in a performance of “God save the Queen” and “In the Mood” (shockingly out of tune) which was broadcast on the BBC in the 1950s. Strachey also programmed it to write love poetry; we saw his doodle of a flowchart for this program.
Grace Hopper did far more than find the first bug. She wrote the first compiler, and designed the business computing language COBOL. More importantly, she realised (as the makers of the Manchester computer did not) that, in order to get businessmen to use computers, you had to do away with symbols, exponents and subscripts, and explain everything in clear plain words.
In order to put the timeline of computing in its place, Ursula gave us a timeline of computing in India. The first computer in India was installed in 1955 (before the first computer in Scotland), and the first computer designed and built in India began operating in 1960.
She also showed us some events in the development of the Internet, to show that it was far from a single line of development; there were many other networks around at the time of ARPANET.
But the main focus of the third lecture was on two topics. First was Ada Lovelace’s mathematical education and ability. Apart from an early tutor who told her that the only way to be a mathematician was to memorise everything in the book, her real tutor was Augustus De Morgan, who had a clear idea of her abilities. He described it in terms of a young man with comparable abilities, since a woman could not study at Cambridge in those days. Such a person would never be Senior Wrangler (essentially, succeed in a problem-solving competition), but his grasp of the overall structure could lead to his becoming a very successful research mathematician.
But this comment was seriously misunderstood by later historians, even when they quoted it verbatim, as saying that Lovelace was too bogged down in details to succeed. People who should have known better claimed that she could not have understood what was written in her 70-page paper on the Analytical Engine. Her analysis of the Bernoulli numbers showed that she was no slouch as a mathematician.
A nice story concerns how she got the better of the tutor who had told her to memorise the contents of the book. After studying Pythagoras’ Theorem, she asked him how you would prove a similar theorem in which squares on the sides of the right-angled triangle are replaced by equilateral triangles. He hadn’t the faintest idea; it was not in the book! As Ursula says, either you see this as being very difficult, or you think it is quite simple.
Then she turned to the many women who had been important in the early days of British computing, who are now essentially unknown, written out of the script either by corporate policy (as in the case of the Civil Service, which had separate men’s and women’s career scales in those days) or by individual blindness. She showed us a web page showing the first professor of computing (named) at a university which I won’t name and shame, in front of the university’s new computer (named). There is also a woman sitting at the console, who was not even mentioned in the picture caption. At Ursula’s urging, her name was discovered (not so difficult, in fact) and added to the caption.
Ursula gave us two reasons for studying history:
- understanding the past helps us grasp the present and think about the future (for example, the problems we are now facing may have arisen before);
- the stories we tell (or don’t) shape who we are, what we do, and how we are seen.
The web page for the Distinguished Lectures Series is here. I do not know how to find the slides or the reading list. This material may be restricted to students.