Free Novel Read

It Began with Babbage Page 6


  In 1896, Hollerith left government service to found his own company, the Tabulating Machine Company. In 1911, this firm merged with two others to form the Computing Tabulating Recording Company (CTR), of which a certain Thomas J. Watson (1874–1956) became head in 1914. Watson changed the name of the company’s Canadian subsidiary to International Business Machines (IBM) in 1917; the parent company, CTR itself, became IBM in 1924, with more than 300,000 employees.18 In 1920, CTR formed a British subsidiary named British Tabulating Machine (BTM), which parted ways from IBM in 1947 and, after merging with another company, became International Computers and Tabulators (ICT). In 1968, ICT merged with English Electric Computers and became International Computers Limited (ICL), a firm that no longer exists, having been acquired by Fujitsu in 2002.

  VII

  Punched-card electromechanical data processing is part of the fossil record that unveils a part of what I am calling missing links in the evolutionary history, the phylogeny, of computing—links that connect Babbage’s mechanical world to the age of digital electronics. Throughout the course of the first four decades of the 20th century, led by IBM—the undisputed leader in this technology—a whole range of electromechanical machines were designed that refined, improved, enlarged, and automated further the process of data processing. The objective, always, was to improve automation in terms of extent of automation (and thus minimizing human intervention) and speed of processing.

  The punched card itself—at the heart of data processing systems—would change quite radically from Hollerith’s original card. It would be standardized in size (7 1/8 inches by 3 1/4 inches), thickness, and format: 12 rows spaced one-quarter inch apart with 80 columns. Alphabetic, numeric, and special characters were represented by specific combinations of holes down a column, according to what is known as “extended binary-coded decimal interchange code”.

  The basic data processing functions would evolve, and machines to perform these functions came into being, including a typewriterlike device, the keypunch to punch cards; a similar device called the verifier to verify the correctness and accuracy of the transcribed punched cards; the automatic punch to reproduce or copy a deck of punched cards; the sorter to arrange a deck of cards automatically according to some hierarchy (such as in alphabetic sequence of names or in numeric sequence of dates of birth); the collator, which merged two previously sorted decks of cards into one larger sorted deck; the tabulator, with varying degrees of functional sophistication; the calculator, which read data from input cards (such as the number of hours one employee worked in a pay period and his hourly rate) and performed numeric calculations (such as gross pay, tax, benefit deduction, net pay), then punched the results onto cards; and the printer.

  Machines such as tabulators, calculators, and collators were programmable in that, by changing the wiring connections on the control panel or “plugboard,” they could be made to read different fields on a card and to perform variations on their central functions. After a plugboard was wired a certain way, it constituted a “program” that could be used repeatedly, or that plugboard could be exchanged for a differently wired plugboard.

  VIII

  In the world of punched-card data processing, each type of machine performed a specialized function, but no one machine type really had an “identity” of its own. One would not purchase a sorter by itself, nor a keypunch, nor a tabulator, not even a calculator. Each was in symbiotic relation with the others; they “fed” off one another. They formed a system. A data processing center (such as IBM had) would have an army of keypunches and verifiers, some automatic punches, some printers, a few sorters, one or two tabulators, and one or two calculating machines—a factory, in other words, in which some of the machines worked in parallel, some in sequence, and some in “pipeline” mode. But what was being processed, what flowed from one machine to another, were not the punched cards—they were only the medium—but data or information or symbol structures carried in the punched cards. Data processing factories or centers were symbol processing systems.

  These systems unveiled a fundamental character of symbol processing: numbers are only one kind of symbol. Insofar as machines such as Babbage’s Difference Engine and Analytical Engine were concerned with numbers and arithmetic operations, they were calculating machines, as Babbage readily admitted, but the punched-card data processing system that Hollerith pioneered entailed much more than calculation. It performed operations such as comparing, matching, sorting, merging, and copying. These operations did not alter the symbol structures they were processing. Indeed, these operations were indifferent to the symbols themselves as signifying anything out there in the world. Their only concern was the relationship among the symbols, such as whether 3 was higher than A (in some sense). In other words, the punched-card data processing paradigm revealed that computing and calculating are not synonymous. In concrete terms, the calculating machine and the tabulator were not the only machines that mattered.

  IX

  On the other side of the Atlantic, Babbage had not been forgotten. At least one person, an Irishman named Percy Ludgate (1883–1922), was much aware of him.19 Writing in 1909 on the design of an analytical machine capable of performing calculations without human intervention, he recalled, in admiration, Babbage’s work.20

  What little we know about Ludgate is largely a result of British computer scientist and computer historian Brian Randell, who composed a brief biography of this man.21 Born in County Cork, Ireland, Ludgate studied accountancy at Rathmere College of Commerce in Dublin, passed his final examination with distinction, and was awarded a gold medal by the Corporation of Accountancy. His deplorably short working life was spent as an auditor with a Dublin firm, and so his work on the analytical machine was almost certainly done in his spare time in the privacy of his home. He appeared to be an unassuming person; he was described by some who knew him as modest, gentle, courteous, and humble,22 although his intellectual abilities were evident to colleagues and he was even regarded as possessing a touch of genius.23

  During World War I, Ludgate played a major role as a member of a government committee responsible for overseeing the production and supply of oats for a large area of the country to maintain a regular supply to the cavalry division of the army. His work in planning and organizing this large-scale enterprise drew praise from his bosses.24 Unmarried, he died of pneumonia in 1922, just short of his 40th birthday.

  Although Ludgate was aware of Babbage, this did not inspire his own efforts, at least during the earlier stages. It was only after the initial design of his machine that he came to know of Babbage’s work. However, he freely acknowledged that, thereafter, he benefited greatly from the latter’s writings.25 If there was, as he conceded, a certain similarity between his own design and that of the Analytical Engine, this was not a matter of happenstance, but rather a reflection of the fact that his tenor of thinking about automatic computing followed a path Babbage had walked.26 Bromley’s comment, made some 70 years, later comes to mind (refer back to Section I).

  This resemblance, however, is at the most general functional or architectural level. As to the detailed structure—the design of the actual mechanism—the differences between his machine and Babbage’s were considerable.27

  Ludgate appealed to both Babbage’s autobiography and the Menabrea–Lovelace memoir as evidence of the viability of mechanical, automatic computation of analytical (in the mathematical sense of this word) problems.28 We may imagine how, working in virtual isolation, in the tradition of the mythic lone inventor, probably with not a single person to discuss his work, his later discovery of Babbage confirmed his own conviction regarding the viability of his own thinking. He must have surely taken solace from his discovery of Babbage’s work. It must have given him greater confidence in articulating the functional requirements demanded of any analytical machine.

  In one long, breathless paragraph, Ludgate stipulated what an analytical machine must achieve. It must have the means to hold or store the num
eric data required as input to the problem of interest, as well as the results produced by the computation. It must have the means to send pairs of numbers to the unit that performs arithmetical operations, the means to select from the stored numbers the correct ones on which to operate, and the ability to select the proper operations to perform on such selected numbers. It must have the means of recalling numbers previously computed should they be needed for a later part of the computation. And, of course, there must be a means of sequencing the operations and numbers according to the “laws” of evaluations of algebraic equations. And, he asked, how could a machine follow such algebraic laws?29

  All roads keep leading back to Jacquard and his loom.30 However, rather than cards, Ludgate resorted to a sheet or roll of perforated tapes31—thus the appearance, in the domain of computing, of perforated paper tape as the functional equivalent of punched cards. Ludgate called this “formula-paper”.32 In contrast to Babbage, who used two sets of cards—one to specify the operations to be performed and the other to select the numbers on which to be operated—each row of the formula-paper specified both the operation to be performed as well as the selection of the numbers on which to be operated.33

  Even more distinctive were Ludgate’s schemes for storing numbers and for performing arithmetic. His store comprised “shuttles.” Each variable was stored in a separate shuttle. Each shuttle carried protruding metal rods—one rod for the sign and one rod for each digit of a 20-digit number. The actual digit stored on a rod would be represented by the protrusion of the rod out of the shuttle by a distance from 1 to 10 units. The shuttles would be held in “two co-axial cylindrical shuttle-boxes.”34 A particular variable would be accessed during an arithmetic operation by rotating the carrying shuttle box through an appropriate angle. As for his scheme for performing arithmetic, the basic operation was to be multiplication.35

  The idea of a multiplication machine was not new in Ludgate’s time. The French inventor Léon Bollée (1870–1913) had built such a machine, which won him a gold medal at the Paris Exposition in 1889; and there had been other patents awarded to inventors even earlier. Ludgate’s scheme used a version of the logarithmic method of multiplication. In the latter method, the product a * b would be computed as c = log a + log b, and then it would take the antilog of c. Ludgate did not use logarithms; rather, each digit was translated into a unique “index number.” The index numbers of the two original digits to be multiplied were added, then a reverse translation (anti-index number, so to speak) was performed to obtain the two-digit product.

  For example, Ludgate showed a table of digits and corresponding simple index numbers. For the digit 4, the index number is 2; for the digit 6, it is 8. So to calculate 4* 6, the corresponding index numbers are added (2 + 8 = 10). A second table showed the compound index numbers corresponding to each double-digit product. For the compound index number 10, the corresponding product is 24. Hence, the result, 24, could be read off from the table.

  Ludgate admitted the difficulty of describing the mechanism of the index system without drawings.36 Basically, the actual addition of the index numbers and the reading off of index numbers and products were to be effected by a system of movable blades and slides, and their relative displacements from each other, rather like the operation of a slide rule, which—before the advent of pocket calculators—was the primary handheld calculation aid for engineers and scientists.

  The multiplication of two multidigit variables—say, a = 9247 and b = 8132—would be performed by a cycle of operations, each operation involving a set of movements of the blades. The operation first computed the partial product 8132 9 (using the index numbers), then 8132 2, followed by 8132 4, and finally 8132 7. Each of these partial products was stored in the shuttle system, and then the final product was computed as the sum of the partial products, the addition effected by the relative displacements of the slides and blades.

  As for division, here, too, Ludgate deviated markedly from the convention of dividing by repeated subtraction of the divisor from the dividend. This method was inadequate for the purpose of his machine. He noted that Babbage used this method, but it gave rise to many mechanical difficulties.37 Instead, Ludgate adopted a method of division that began with the assumption that the machine could add, subtract, and multiply.38 His method drew on the fact that an expression p/q, where p and q are the variables, can be expanded, using the Binomial Theorem to a series expression so that

  p/q = Ap (1 – x + x2 – x3 + x4 – x5 + …)

  where A and x are both computed from the original variables p and q. Finding the sum of the expression as far as x to the power 10 would produce a result correct to at least 20 digits.39

  Another distinctive feature of Ludgate’s design was (using present-centered language) its user interface. The machine would be controlled by two keyboards—one allowed numbers to be communicated to the machine and would thus substitute for feeding in numbers through paper tape; the other would control the working of the machine and would thus serve as a substitute for the formula-paper.

  As in Babbage’s case, Ludgate’s was a mechanical world—perhaps surprising for his time, when electric power had taken over many of the tasks energized by steam power in Babbage’s time. Like Babbage, whom Ludgate quoted frequently and approvingly, Ludgate never built his machine. Unlike Babbage, Ludgate did not seem even to have attempted to build his machine. In fact, in a paper written in 1914, he mentioned that he had discarded his machine in favor of a new design that combined the best of both of Babbage’s Analytical and Difference Engines.40 Nothing, however, seems to be known about this later design.

  Ludgate’s optimism about the place of a machine such as his—of the place of computing machines in general—is clear in the concluding paragraph of his 1909 paper. Reflecting, as it were, the collective thoughts of his illustrious predecessors, Leibniz, Babbage, and Lovelace, Ludgate wrote that he could not imagine a single branch of science—pure or applied—that depended on mathematics for its development that would not benefit from automatic computation. By transforming abstract algebraic expressions into numeric computations, the scientist would be relieved of the tedium of complex calculations that could then be performed in a fast, precise, and automatic manner.41

  For Ludgate, computing machines of the analytical kind were an instrument of science—in contrast to the data processing systems built by Hollerith and his successors, which were instruments of commerce. These two broad faces of computing were thus visible before World War I.

  Ludgate’s work on the analytical machine did not go unnoticed. In the July 1, 1909, issue of the preeminent British science journal Nature, a notice was published titled “A New Analytical Machine,” authored by Sir Charles Vernon Boys (1855–1944), a distinguished English experimental physicist and inventor, and a fellow of the Royal Society.42 Ludgate, an accountant by profession and an inventor by avocation, must have been pleased with the recognition of his work by such a distinguished professional scientist.

  X

  To reiterate: The central aim of this book is to trace the historical pathways to the emergence of the new science we now call computer science, and to understand the peculiar and unique character of this science. And so, at this point in the story, it seems appropriate to ask: What evidence do we find that a science surrounding computing was emerging? Or was it at all?

  I think it is fair to say that at least one characteristic that makes a field of study or a human endeavor begin to seem scientific, whether it deals with the natural or artificial world, is when someone surveys what has been achieved to date and then abstracts from the evidence certain unifying principles. Such principles may take the form of a theory or a critical analysis of the domain of interest, or they may touch on the very nature of that field (what philosophers would call its ontology) or the character of its constituent knowledge (its epistemology), or they may address its methods of investigation (its methodology).

  Such a general, possibly abstract, meditation on
the nature of computing machines, and the first peek at a fetal form of a science of computing, is found in the writings of a Spaniard, Leonardo Torres y Quevedo (1852–1936). Son of a railway engineer, Torres y Quevedo studied civil engineering at what is now the Universidad Politécnica de Madrid, graduating in 1876. After working for a time in the railways, he came into an inheritance, resigned from the railways, and set himself up as an independent inventor and engineer with his own laboratory. Later, he was appointed director of the Laboratory of Applied Mechanics in the Athenaeum in Madrid (an institution dedicated to making scientific instruments). In later life, he received many honors for his inventions and engineering work both in Spain and abroad, including election to the Royal Spanish Academy of Sciences, the award by King Alfonso XIII of Spain of a prestigious gold medal of the Academy, presidentship of the Academy, an honorary doctorate from the Sorbonne, and, in 2007, the American Institute of Electrical and Electronics Engineers (IEEE) recognized one of his electrical inventions as an IEEE Milestone in Electrical Engineering and Computing—the first Spaniard to be so honored. He was also commemorated by his country by the issue of two stamps in his honor.43

  But let us return to 1915 and to a long article written by Torres y Quevedo in Spanish and published in the journal of the Royal Spanish Academy of Sciences. The English translation bears the title “Essays on Automatics.”44 The word automaton, Torres y Quevedo wrote, is often used to refer to a machine that mimics the behavior of a human or an animal; an automaton is driven by its own power source and can go about its actions, usually repetitive ones, without outside intervention.45

  He offered as an example the self-propelled torpedo. Its behavior involves establishing certain fixed mechanical relationships between its main moving parts. This is a problem in kinematics, the science of bodies or systems of bodies in motion, a branch of engineering mechanics that enters into the design of mechanical machinery.