Since we have just celebrated Charles Babbage's 210th birthday, this seems like a good time to honor the man who was not only a pioneer in our industry but also its greatest curmudgeon. His trials and tribulations provide an interesting foreboding of what would befall many of us in the industry he invented.
Last year, Doron Swade, Assistant Director and Head of Collections at the Science Museum in London, published The Difference Engine: Charles Babbage and the Quest to Build the First Computer. Mr. Swade has the distinction of not only being a foremost authority on Charles Babbage but he is also the Director of the Science Museum project to build Mr. Babbage's creation.
His book presents the bumpy saga of the old curmudgeon's life.
About Charles Babbage
Babbage was born December 26, 1791 to well-to-do parents. He was very precocious in mathematics and attended Trinity College, Cambridge. "As a new undergraduate, he looked forward to having his curiosity and mathematical puzzlements illuminated by his tutors. To his disappointment, he found his teachers a staid lot, stuck in an unchanging curriculum and uninterested in the new Continental theories which excited him." [p. 18]
He moved from Trinity College to Peterborough College for his last two years and was expected to win honors in his final exam. The honors carried great prestige and launched careers. Candidates had to qualify, however, by sitting for an oral examination that entailed a debate in front of a moderator.
He knew that his moderator would be the Reverend Thomas Jephson, a deeply religious man, but that didn't deter him from choosing to defend the proposition, "God is a material agent." Reverend Jephson judged the proposition blasphemous, with disastrous results for Babbage. He did not graduate with honors, in spite of his exemplary record.
Babbage's friend John Herschel was an astronomer, who would bring Babbage manuscripts of mathematical tables to review. The tables were prepared by human "computers" and invariably were replete with errors. In 1821, the two of them were reviewing a set of tables, becoming progressively frustrated with the number of errors, when Babbage exclaimed, "I wish to God these calculations had been executed by steam!" [p. 10]
People had to calculate every number on astronomical and navigational tables. These numbers were then copied by hand to lists for publication. The lists then had to be typeset. When the tables were printed, they had to be proofread. Errors were introduced at each step.
"Finance, trade, science and navigation were at risk from hidden dangers, and the insecurity of flawed tables undermined the certainties promised and sought by the burgeoning new sciences." [p.12] "News of shipwrecks was a constant reminder of the dire consequences to navigation of undetected errors." [p. 13]
The First "Difference Engine"
Shortly after his meeting with Herschel, Babbage came up with the idea for a "calculating Engine." By 1822, he had built a working prototype. It wasn't included in the prototype, but he intended that the device would print the results as well as calculate them. Blaise Pascal and Gottfried Leibnitz had invented calculating devices in the seventeenth century, but these devices were more ornamental than practical. The devices available in Babbage's time required entry of the numbers, rotating a lever, and then transcribing the result. The transcription was still prone to errors, so the automation of the calculations didn't really help. Babbage envisioned a machine that would compute whole sets of numbers and print the results without human intervention.
He didn't tackle multiplication or division right away. He made use of a technique called "method of Differences" to do complex calculations using only addition and subtraction. Hence his invention came to be called a "Difference Engine."
His life from this point forward was a continual battle with the British Government for funding and support. He did originally get £1500 for construction of larger model, but that would prove to be only a small part of what was needed.
Once he got his initial funding in 1821, he had to figure out how to build the machine. Each number manipulated was represented by a column of wheels, with one gear for each digit. Early designs had six columns with 12 wheels. By 1830, the design was for seven columns with 16 digits each.
The engine would be eight feet high, seven feet long, and three feet deep. It would weigh an estimated fifteen tons. The design called for 25,000 separate parts, equally split between the calculating section and the printer. Drawings alone covered four hundred square feet.
He realized that his requirements would stretch the technology of his time. The Engine would demand precision and the creation of hundreds of identical parts. There was no mass production at that time, so producing that many identical parts was very labor-intensive. He spent a great deal of time visiting machine shops and doing other research.
At the very least, he would have to design his own tools. He hired Joseph Clement, a toolmaker and draftsman ("draughtsmen" in the British book), to help him.
In terms of John Zachman's "Framework for Information Architecture," he designed and sketched his "Row 2" "Owner's view" of the device, and Clement carefully drafted his "Row 3" "Architectural Diagrams."
The effort burned Babbage out. On top of that, in 1827, in rapid succession, his father, his second son, and his wife died. Babbage became so distraught from the tragedies that he suspended work on the Engine and traveled for a year to try to recover. The project so far had cost £6,000, much of which had been his own funds. He expected to reclaim the money from the Royal Treasury, but five years had passed since the original award and he had nothing to show for his efforts. The public was not receptive.
There was no record of the original agreement between Babbage and the Treasury. This meant that there was no assurance that Babbage would be reimbursed. He appealed for help to the Prime Minister -- the Duke of Wellington -- who referred the question to the Royal Society. The Society appointed a committee, which recommended in Babbage's favor. The Prime Minister authorized another £1500, but this was only part of the £4500 of his own money that Babbage had already spent.
While all this was going on, Babbage was working to reform the Royal Society. He published a book, Reflections on the Decline of Science in England, and on Some of its Causes, which was a diatribe against current practices. This completely alienated him from the people whose support he needed. The Royal Society was, after all, the organization that had supported his getting money from Parliament.
The book actually contributed to the reform of the Society, but it ruined Babbage's career.
In March 1831, he did get approval for £12,000 pounds to provide for a location to build it. He now estimated that he could complete it in three more years.
In 1832, Clement built a demonstration model: 2.5 feet high, 2 wide, and 2 deep; three columns, each with six wheels. Clement then asked for more money. The treasury refused. Babbage refused any more money from his own pocket. Clement put his men on notice. At the end of March 1833, Clement's men were fired. Work stopped, never to resume.
When all was settled in August 1834, the project had cost the Treasury £17,478, of which £2190 was for buildings and the rest for development. By comparison, the brand-new steam locomotive John Bull had only cost £784.
Clement and his men had made only 12,000 of the required 25,000 parts.
Babbage slowly returned to society, having parties that were widely attended. His demonstration Engine was all the rage. (Today it is in the Science Museum in London.)
"The demonstration piece occupies a unique place in the history of technology. To begin with, it is one of the finest examples of precision Engineering of the time. It serves as a meteorological benchmark -- a standard of measurement -- for what was achievable by the most advanced practices of the day." [p. 82]
"Babbage's machine is the first known calculating device to successfully embody mathematical rule in mechanism, and it symbolises the start of the era of automatic computation. Once the figure wheels had been set with the starting values, all you did was turn the handle -- the machine "knew" what to do with the numbers stored on its wheels. You cranked a handle and read off the results." [p 83]
The Analytical Engine
When Clement left, he took the drawings with him. It was eighteen months before Babbage got the drawings back. During this time, he had to stop thinking about the Difference Engine. Once he got the drawings back, in 1834, he began to think about a different approach. In 1836, he made the breakthrough that allowed him to envision a general-purpose computing Engine (the "Analytical Engine") and established the basic principles for its implementation.
Among his breakthroughs was figuring out how to get the Engine to adjust itself. The results of the method he was using involved growing error, and it was necessary periodically to multiply the result by a constant to get it back on track. Once he solved that problem, he discovered how to do multiplication and division. The latter was via a very tricky method indeed.
He became concerned with execution time. (Sound familiar?) "The whole history of the invention has been the struggle against time," he wrote in 1837. He used some very clever techniques for speeding up the processing time. Carrying tens in addition had been very slow, but by ingeniously separating that process (modularity?) from the addition itself, he greatly speeded things up.
He wrote of "teaching the Engine to foresee" and of its "knowing" things. Thus began the anthropomorphism of considering computers "thinking machines."
Babbage also allowed for conditional branching.
The machinery for carrying tens was expensive, as would be reproducing it for every part of a formula. So, Babbage centralized the processor and transmitted numbers to it from an auxiliary storage. Its "Mill" and "store," then, were the forerunners of our CPU and random access memory. Output could be paper or printing plates, but it could also be on punched cards, such as those used at the time in Jacquard looms.
The machine had a repertoire of four functions that could be performed in any order. He needed a way to control the functions -- programming. He decided on Jacquard cards for this as well. Operation cards would tell the computer what to do; variable cards would direct the retrieval of data; number cards would hold data; and combinatorial cards would allow specification of the number of times a process was to be repeated.
Where he had trumpeted the Difference Engine as a device to automate the process of creating navigational tables, Babbage did not publicize his work on the Analytical Engine. It did not have apparent practical use, so he pursued it mostly in private, for its intellectual challenge only. He did not publish or give any lectures on the new Engine. He was discouraged by the failure to build the Difference Engine, and wounded by the whispered ridicule and accusations of financial impropriety. "He was in any case a rotten publicist, preferring to devote himself to the development of ideas rather than to their promotion." [p. 93].
His private notes run between 6,000 and 7,000 sheets. There are some 500 large design drawings with mechanical details, and 1,000 sheets covered with this notation.
He drew the mechanisms and even made prototypes of some of the sub-assemblies. These were fundamentally static representations, however, which meant that he was not representing the complexity of its operation. For this he designed a modeling notation that he called "Mechanical Notation." The need for such a design aid had arisen during his Difference Engine work.
"… the forms of ordinary language were far too diffuse to admit of any expectation of removing the difficulty, and being convinced from experience of the vast power which analysis derives from the great condensation of meaning in the language it employs, I was not long in deciding that the most favorourable path to pursue was to have recourse to the language of signs."
One form of the notation is timing diagrams; the second is analogous to our flow diagrams; the third identified the placement of each part (fixed frame or moveable), with subscripts and superscripts indicating the nature of its movement.
His feelings were hurt when the diagramming notation failed to win the Royal Medal awarded by the Royal Society in 1826. The grievance festered for years. But he viewed the notation as one of his greatest achievements.
It was not until the 1960's that this material was studied by scholars. "It is only in the light of the studies since the late 1960s, viewed from the standpoint of modern electronic computing, that the startling extent of Babbage's achievement begins to emerge. What is simply astonishing is that the designs for the Analytical Engine embody in their mechanical and logical detail just about every major principle of the modern digital computer." [p. 93-94]
He in fact did not pursue construction of the Analytical Engine. He didn't seek funding, nor did he work on its physical construction beyond the prototypes of specific mechanisms.
He was so taken up with it, however, that he didn't work on the Difference Engine either. He did continue to lobby for more funding and made a pest of himself, in the face of calls to investigate possible fraud on his part.
In 1834, he wrote to the Duke of Wellington to grouse about the lack of progress in funding the Difference Engine. He complained about his personal and professional sacrifices, and was indignant at the lack of acknowledgment. He then committed a terrible blunder: He told of his work on a new Engine. He didn't call it revolutionary or different from the Difference Engine, but an extension of it. But he didn't make it clear whether he wanted to replace the Difference Engine project with this one. And he made it sound as though he weren't really committed to finishing the Difference Engine.
At this point, there were four changes of government in a year, and it was only after that year that he got a reply from Wellington, who had interpreted Babbage's remarks as a request for funding of the new project.
What Babbage was trying to do was not that, but to get the government to decide whether to pursue the old Engine or take on the new one. But they were in no position to do so. Babbage kept sending ambiguous signals as to what he would prefer. So, they finally turned him down altogether.
In 1840, he presented his Analytical Engine for the first time to a convention of scientists in Turin, Italy. For the first time he got to discuss his ideas and was invigorated by the experience. He had been invited by Giovanni Plana and was looking forward to Plana's report of his presentation. Plana was, in fact, unimpressed and delegated the task of writing a report to one Luigi Menabrea, who didn't get it published until 1842.
Augusta Ada, Countess of Lovelace, was Lord Byron's daughter. However great a poet Lord Byron might have been, he was a drunk and abused Ada's mother. She left with Ada a few weeks after the girl's birth in 1816.
As she grew up, Ada was tutored privately in mathematics since she showed interest, but at that time women could not get university degrees.
She met Babbage at a party in June, 1833. Twelve days later he demonstrated his Engine to her and her mother, and they were impressed. She married William King at nineteen, in 1835. Between 1836 and 1839, she had three children. All of this tired her and made it difficult for her to pursue mathematics. In 1841, however, she made herself available to Babbage in whatever way he saw fit. She had a high opinion of her own intellect and was firmly convinced that the two of them together could get the Engine out into the world.
In October, 1842, two years after Babbage had presented his ideas in Turin, Luigi Menabrea finally published his review of the Analytical Engine in a Swiss journal.
Ada translated the paper into English and presented the translation to Babbage. He suggested that she knew enough about the machine that she could add notes to the translation. She agreed and started pouring herself into an extended translation.
To the translation of Menabrea's work, she ultimately appended seven "Translator's Notes" appendices, which ran to about three times the length of the original work. While the notes refer to specific points in Menabrea's work, they are in fact expansions of what she understood to be the machine and its purpose.
Ada was in fact not a true mathematician, nor did she originate any of the ideas she describes about the Engine. Babbage had already conceived of all that she wrote about, including what we know about programming. But she had a better feel for what the machine meant than anyone else, and she articulated better than anyone else what it might mean to have a machine that didn't simply manipulate numbers, but in fact manipulated algebraic concepts. She was clearly a better spokesman for the Engine than Babbage had been. While Babbage had written that about it, he had done so in passing, and perhaps even he didn't fully appreciate its significance.
Ada's reputation has grown out of proportion to her underlying knowledge. (She was not really the first "programmer," for example.) She only wrote the one paper, but her writings did put the Analytical Engine on the map. She died a painful death of cancer in 1852, at age 36.
Difference Engine #2
In 1846, Babbage dropped the Analytical Engine and started work on a second Difference Engine. The Analytical Engine had taught him a lot about how to improve the design of the Difference Engine. "It is ... possible that the purist in him became seduced by the minimalist elegance with which he could now accomplish something he had previously struggled so much to achieve. Perhaps he simply could not finally relinquish the conviction in the vision only he had glimpsed. It could be that he was just bored." [p.174]
Between October 1846 and March 1849, Babbage designed his new Engine. It was about three times more efficient than its predecessor and used one third as many parts. This time he has left a complete set of drawings of his invention. As ever, however, he left no written description of its operation or the rationale of its design.
This design included a printer that would not only print directly to a paper roll but could also produce stereotype plates for printing. It included programmable formatting, which included the use of two different fonts, and printing either down the page or across, with automatic "line wrap." Each cycle of the machine would cause results to be printed, but the results would then be lost. When a page was complete, however, the machine would stop automatically, so the page could be replaced. The printer would be buffered, so that its operation would not affect the speed of the processor.
In 1852, he half-heartedly applied to the government for support, but was again turned down. By this time, he was too tired to protest.
All his life, Babbage had been an inventor. He invented everything from the cowcatcher on a locomotive, to "black box" recorders for railways, and failsafe quick-release couplings for railway carriages. He anticipated using his Analytical Engine for playing games and imagined a public pavilion set up where the public could play games on his machines. (He imagined a video game arcade in 1850?)
But when the Great Exhibition of 1851 was held in its spectacular glass pavilion in London's Hyde Park, he was specifically excluded. He had alienated all the wrong people.
In the 1850's and 1860's he pursued the Engine sporadically. He finally died on 18 October, 1871, just two months after his eightieth birthday.
Built at last!
In May of 1985, Doron Swade (the author of The Difference Engine) and Dr. Allan Bromley (from the Basser Department of Computer Science in Sydney, Australia) concluded that it was in fact possible to build Difference Engine #2. The drawings were more complete for this than for any of Babbage's other inventions, and it seemed appropriate that they should attempt to complete it before Babbage's 200th birthday, December 26, 1991.
The story of their project, resulting in a model that can now be seen in the Science Museum in London, constitutes the second half of the book.
Where Babbage's sketches were John Zachman's "Owner's view," and Clement's architectural drawings were the "Architect's view" for Engine #1, Babbage himself produced the architectural drawings for Engine #2. It became quickly apparent to Swade and his colleagues, however, that these were only architectural drawings and not design drawings. It became necessary to produce detailed specifications of each piece, including the materials used, the exact shape, and so forth. This wasn't always easy, since the architectural drawings did not contain some important information. They also were simply wrong in some cases.
Swade & Co. were very conscientious about trying to build it using the technology available to Babbage. They researched materials, methods for machining, and the like.
Ultimately it took six years to build the Difference Engine. Babbage had used one supplier for Engine #1, the engineer Joseph Clement, who made some 12,000 parts in eleven years. The Museum used 46 separate sub-contractors for Engine #2, who made 4,000 parts in under six months. (The printer was completed nine years later, but this is not discussed in the book.)
It wasn't quite ready for the Babbage Exhibition at the Museum in July, 1991, but if zeroes were entered in the wheels, it could be made to spin as though it were computing. This was enough for the press and the public to be impressed. On November 29, 1991, just under one month ahead of Babbage's birthday, the machine performed its first calculations -- perfectly.
So, the next time you are in London, be sure to stop by the Science Museum and take a look at Charles Babbage's creation. It is worth the trip.[*]
 John Zachman, "A Framework for Information Systems Architecture," IBM Systems Journal, Vol. 26, No. 3, (1987), pp. 276-292. Information on the framework is also available at http://www.essentialstrategies.com/publications/methodology/zachman.htm..
# # #