The Philosophical Breakfast Club
Page 28
After reading Babbage’s Ninth Bridgewater Treatise, Whewell wrote to Babbage, with his characteristic dry wit, “I have been unable to get rid of the persuasion that displeasure at a sentence or two in my Bridgewater Treatise, had a considerable influence upon you, both as to the design and the execution of your book.” Nevertheless, in this response to Babbage, which he printed up and distributed widely, Whewell praised him for being a “fellow volunteer” in the task of showing how science and religion were not in conflict.60 Trying to find common ground with his old friend, Whewell suggested that Babbage’s world might be a computing machine, but at least it was one created by God. Herschel was pleased, he admitted to Jones, that Whewell’s response to Babbage was such a “triumph of self-respect and forbearance.” Knowing of Whewell’s propensity to react strongly to slights against him, from his boyhood fights against fellow students at the Lancaster grammar school to his argument with the university dons over the Union Society, Herschel admitted that it was not what he would have expected from Whewell, whose “temper will never be good!”61
Although Whewell pretended that he and Babbage were not so far apart in their views, he was in fact deeply hurt by Babbage’s public and vitriolic attack. Jones recoiled from Babbage’s nastiness, and retaliated by telling Darwin that “the great calculators, from the confined nature of their [mental] associations … are people of very limited intellects!”62 Herschel, too, was “grieved,” he told Jones, at Babbage’s “spiteful allusions to Whewell.”63 Whewell was shocked to find himself accused of believing that science and religion were in conflict, the very opposite of the point he was trying to get across in his Bridgewater Treatise. He was upset as well by Babbage’s defection from the main goal of the Philosophical Breakfast Club: to promote Baconian induction in science—instead, Babbage was privileging deductive reasoning. But Whewell was hurt the most by Babbage’s personal slurs against him. In an appendix to his book, Babbage mentioned the importance of studying the tides, noting that the subject was “at present in great mathematical difficulties and possessing … the highest practical importance.” He made no mention of Whewell’s important work on the tides, including his worldwide study, instead presenting an opposing tidal theory.64 And in the preface to the book, Babbage spitefully remarked that his “Bridgewater Treatise,” unlike Whewell’s, was not written for pecuniary gain. That cutting comment—by a man who had inherited £100,000, and who had received another £17,000 from the government (in part with Whewell’s help)—was not only unfair but painful.
From now on their letters to each other would be infrequent, and short. Although Whewell invited Babbage to come to Cambridge during one of Jones’s visits in the 1840s, their friendship would never recover. Over the years Babbage would continue to make a true reconciliation impossible. In a book published in 1852, Babbage cruelly referred to the “mistake” made by some wealthy people “who, finding in the son of their village blacksmith … some great aptitude for figures, immediately conclude that if properly trained and then sent to college, he will turn out a great mathematician.” That result was hardly ever achieved, Babbage noted snidely. The lad would probably become nothing more than a fairly “respectable member of society,” with no more than a “decent knowledge of science.”65 In his autobiographical Passages from the Life of a Philosopher, published in 1864, Babbage did not mention Whewell’s name once.
BABBAGE’S WORK with the “feedback mechanism” he devised to perform his parlor trick, showing how God could have preset “miracles” into his laws, soon led him to the greatest of his inventions, the Analytical Engine, the world’s first truly programmable computer. In a sense, then, this brilliant device was born of Babbage’s anger at Whewell, since the demonstration with the portion of the Difference Engine was devised to counter Whewell’s view of miracles as interventions of God outside natural law. But it also arose out of another personal catastrophe for Babbage.
The problem, once again, was his machinist, Clement. Babbage had built a workshop for Clement on land abutting his Dorset Street property. Babbage wanted Clement to move his family to a residence over the workshop, so that he and Babbage could consult with each other more easily. But Clement balked at this plan. Thanks to the experience and reputation Clement had earned by his work on the Difference Engine, he had built up a thriving business, and he was loath to give that up to work full time on Babbage’s project. He demanded £350 to move his tools, £130 for new furniture, and £660 per year for the expenses of keeping up his separate workshop for his other jobs. Babbage, in disgust, forwarded this demand to the Treasury, which, not surprisingly, found it to be “unreasonable and inadmissible.”66 Clement refused to accept anything less, and at any rate Babbage declined to make a counteroffer. Early in 1833, Clement drew up a bill for the work done between July 1 and December 31, 1832. Babbage refused payment until an agreement was reached about Clement’s move. Clement threatened to stop work and lay off his workers. It was a stalemate.
Finally Clement fired the men, and work on the Difference Engine ceased, never to resume. By the time the accounts were all settled, the government had spent a total of £17,478 14s 10d—nearly £1.6 million (about $2.5 million) in today’s currency—for a machine that would never be completed.67 That amount was more than double the cost of an Admiralty warship; HMS Beagle, originally launched as a ten-gun brig sloop of the Royal Navy, cost £7,803 in 1820.68
Ironically, just as work was ceasing on the Difference Engine, its merits were being touted by Dionysius Lardner in a series of public lectures, including at the 1834 British Association meeting in Edinburgh where, Whewell complained to Airy, “We allowed Dionysius to tyrannize a whole evening concerning Babbage’s machine, which was universally declared to be a very heavy infliction.”69 Around this time Lardner also published a long and laudatory article on the Difference Engine in the Edinburgh Review. Here Lardner championed the potential usefulness of the Difference Engine, noting that when constructed it would “produce important effects not only on the progress of science, but on that of civilization.”70 He put into perspective the amount of money spent thus far on the machine, drawing a compelling analogy with the steam engine, which, he pointed out, required over twenty years of James Watt’s life and £50,000 to come to perfection (though Lardner did remark pointedly that Watt and Bolton had invested the money themselves, and received no government grant).71 Lardner wrote much of this article at Babbage’s house, poring over Babbage’s vast collection of volumes of logarithmic tables—from which he gleaned the frightening fact that in a random sample of forty tables, there were 3,700 acknowledged “errata”—as well as the plans and drawings of the machine. Babbage may even have helped write the descriptive parts of the engine’s functions. But he could not have been happy with the harsh closing paragraph of the article, in which Lardner criticized the inventor for having withdrawn from the process of completing the engine. “Does not Mr. Babbage perceive the inference which the world will draw from this course of conduct?” Lardner asked. “Does he not see that they will impute to it a distrust of his own power, or even to a consciousness of his own inability to complete what he has begun?” Lardner hoped to inspire Babbage to hunker down and finish the project. But that is not what happened.
It is likely that when Clement stopped work on the Difference Engine, Babbage imagined he would hire another machinist and complete the machine. Babbage’s son Henry later estimated that to complete the Difference Engine—with most of its parts already manufactured—would have required only about another £500, which Babbage could have easily afforded himself.72 But in the end it took over sixteen months to reach a settlement with Clement; only then were the drawings and pieces of the unassembled machine given to Babbage. When it was finally over, Babbage told a correspondent that “I am almost worn out with disgust and annoyance at the whole affair.”73 In the intervening time, he had the leisure to work on his argument against Whewell’s Bridgewater Treatise, and to start thinking of a new, more powerful
engine. By the time all the parts and plans were in his possession, Babbage had moved on. Most of the pieces—handcrafted to such maddeningly high standards, at such a high cost—were eventually sold and melted down for scrap, besides some that were kept and assembled into small experimental models.
The feedback mechanism of his own demonstration model of the Difference Engine nudged Babbage’s thinking in a new direction. What if he could invent an engine that would be able to easily calculate these kinds of feedback functions, such as the sine function, in which the higher-order differences could be affected by the lower-order differences or the results column? He thought of this as “the Engine eating its own tail.”74 Could he create an engine that could tabulate any and all functions, using all four arithmetical operations, without needing to approximate them in the form of polynomials that could be calculated using only addition? What if the engine could, moreover, take the results from one calculation, and then “decide” between different further options based on the outcome? Babbage began to make sketches. Soon he would feel that “the whole of arithmetic … appeared within the grasp of mechanism.”75
At around this time, in July 1834, Babbage began a series of “Scribbling Books” that record his growing obsession with a new, more powerful engine. Between the summer of 1834 and the summer of 1836, Babbage invented the world’s first general-purpose computing machine. In the fall of 1834 he hired Charles Godfrey Jarvis, who had previously worked under Clement, as his new machinist, and most of the drawings and plans of the machine are in his hand. Babbage paid Jarvis’s high wages out of his own pocket. Their relationship was untouched by the kind of rancor and mistrust that had characterized Babbage’s dealings with Clement.
It has only been in the past few decades that scholars trying to piece together the progress of Babbage’s thought process have tackled the seven thousand large sheets of the Scribbling Books, some five hundred huge design drawings, each of which takes up a whole desk, and about one thousand miscellaneous sheets of paper covered with his “notations”—symbolic descriptions of the mechanical flow of the machine’s elements—now held at the Science Museum of London’s storage site on an abandoned airfield in Swindon. But enough is known to say with confidence that Babbage’s Analytical Engine—really a series of engines, each a bit different as his thinking progressed—embodied all the features of today’s digital computers. It had a separate “memory” and a “central processor.” It was capable of “iteration,” the process of repeating a sequence of operations a programmable number of times. It performed conditional branching, in that it could take one action or another depending on the outcome of a prior calculation. It also allowed for the use of multiple processors to speed computation by splitting up the task (this is the basis for modern parallel computing). Babbage designed a number of possible output devices for the Analytical Engine, such as graph plotters and printers.76 Even Babbage, never one to underestimate his own intelligence, was impressed. He wrote to Quetelet, “I am myself astonished at the power I have been enabled to give this machine; a year ago I should not have believed this result possible.”77
Babbage’s first breakthrough was in separating two operations of the machine into two different physical locations: the “Mill,” where the mathematical operations were performed (analogous to today’s central processor), and the “Store,” where the numbers were kept before being brought to the Mill for processing, and where the results of computation would return afterwards (analogous to the memory of today’s computers). Babbage later explained that these terms were “an elegant metaphor from the textile industry, where yarns were brought from the store to the mill where they were woven into fabric, which was then sent back to the store.”78 Babbage had intensively studied the textile industry for the book on political economy he had published in 1832, and he brilliantly brought to bear what he had learned there when beginning to think of his new engine.
The Mill of Babbage’s new machine was a circular mechanism, containing the figure-wheel axes arrayed around a set of large central wheels. The Store was laid out in a straight line, with two rows of figure-wheel axes containing the numbers (each axis had forty figure wheels, in one of Babbage’s conceptions, so that numbers up to forty digits long could be saved there). The numbers from the store were conveyed to and from the Mill by a system of horizontal racks or toothed bars, what a modern expert on the Analytical Engine has called a “memory data bus.”79
The textile industry provided the next of Babbage’s innovations as well, perhaps the most revolutionary one of all. Babbage sought a method to instruct the engine what calculations to perform, on which numbers, and in what order. He first thought of a system of metal cylinders or drums, such as Jacques de Vaucanson had devised for the first automated loom in 1745 (previously, Vaucanson had created the famous “defecating duck,” with its four hundred moving parts). Before automated looms were invented, the creation of a patterned silk textile was extremely complicated. The warp—the lengthwise threads—were held in place on the loom. Two people were required to weave the patterned fabric: a skilled weaver who inserted the wefts—the filling, or side-to-side, threads—and a “draw boy” who had to manually select those warp threads that were to be raised for each pass of the wefts in order to create the desired pattern. In Vaucanson’s loom, a special control box above the loom used a metal cylinder with spokes, like those drums used in music boxes at the time, to raise and lower the warp yarns so that the wefts could be automatically drawn through the warp without the work of a skilled weaver. This could only produce regularly repeating patterns, however, as in damask fabric (in which a raised design appears on a lustrous background).80
In a momentous diary entry, on June 30, 1836, Babbage wrote, “Suggested Jacard’s [sic] loom as a substitute for the drums.” Babbage had realized that his purpose could best be served with the use of punch cards such as those devised for a later type of automatic loom by Joseph-Marie Jacquard in 1801—similar in form and function to those used by Herman Hollerith in 1884 for his electric punch-card tabulator, the first computing machine, developed for the company that would later be named the International Business Machines corporation, or IBM. In a sense, Babbage’s thought process, whether intentionally or not, recapitulated the evolution of the automatic loom, going from the metal drum mechanism to a system of punched cards. The Jacquard loom was the first machine to use punch cards to control a sequence of operations, and for this reason has a hallowed spot in the history of computing technology.
The Jacquard loom used a series of cards with tiny holes to dictate the raising and lowering of the warp threads. Rods were linked to wire hooks; each of these hooks could lift one of the threads strung vertically between the wooden frame. In sequence, the cards were pressed up against the end of the rods. If a rod coincided with a hole, then the rod passed through the hole and no action was taken with the thread. If no hole coincided with the rod, then the card pressed against the rod and this activated a hook that lifted the thread attached to it, allowing the shuttle—which carried the cross-thread—to pass underneath. Series of cards were strung together with wire, ribbon, or tape, and folded into large stacks.
The arrangement of the holes determined the pattern of the weave. Jacquard looms could in this way weave extremely intricate designs fairly quickly, without the need for master artisans to perform the weaving operations (only a loom operator was required; he or she sat inside the frame sequencing the cards one at a time by a foot-pedal or hand-lever). This method could be used not only for repeating patterns, but also for complex and nonrepeating ones; such weavings could require over twenty thousand punched cards with one thousand hole positions per card.81
One famous Jacquard tapestry of the time mimicked a portrait of Jacquard himself; the image so closely resembled an engraving that viewers were shocked to discover it was an image in warp and weft rather than ink on paper. Babbage kept his copy of this tapestry portrait on his wall to remind himself of the origins of his Analy
tical Engine.82 (Ironically, modern Jacquard looms are controlled by digital computers instead of punch cards—so the circle has gone around: from loom to computer back to loom.)
Babbage devised a system for his Analytical Engine using four different types of cards, each the size of a small brick. Operation cards instructed the engine to add, subtract, multiply, or divide. Variable cards specified from where in the Store the number was to be retrieved, and to where in the Store the result should go. Combinatorial cards were used to get the engine to repeat a sequence of operations a predetermined number of times; to loop back and iterate a set of calculations. And, finally, number cards could be used if desired to save the results, like a kind of overflow memory.83
Babbage knew that slowness in calculation would be a major problem for his device. Once he had grasped the major elements of the Analytical Engine, much of Babbage’s time and energy was spent in trying to devise ways to speed up the calculating process. As he put it, “The whole history of the invention has been a struggle against time.”84 In his last description of the engine, written in 1864, Babbage estimated its speed of calculation as one addition or subtraction per second, and one minute per multiplication of two fifty-digit numbers or division of a one-hundred-digit number by a fifty-digit divisor—extremely fast compared to a human computer, though extremely slow compared to a modern-day digital computer.85 (ENIAC, the first functional general-purpose digital computer—built in 1946—could perform up to five thousand simple subtractions and additions every second.)
At the start of his efforts, Babbage realized that the successive carry mechanism he had worked out for his Difference Engine, though ingenious in its own way, would be too slow for the very large numbers and long operations of multiplication and division envisioned for the new engine. In that mechanism, the carrying of tens was not performed until the addition of numbers was complete; only then would the arm sweep over the digits to catch on the latches in the warned position, indicating the need for a carry. But for numbers with many digits, that process of sweeping over the digits could take even longer than the addition itself.