Read It Began with Babbage Online
Authors: Subrata Dasgupta
These seemed to be times when memoranda were being written on computing and computers, not with a view to publication, but as exploratory documents to be circulated and read by a select group of people to stimulate discussion and instigate practical action. Stibitz's 1940 paper was an example. Three years earlier, Aiken wrote a memorandum titled “Proposed Automatic Calculating Machine,” which would be published in 1964 as a historical document.
37
Aiken acknowledged Babbage's pioneering work and that of his successors, including Hollerith. Like all those who preceded him, Aiken was driven by a dissatisfaction and a resulting need.
He observed that recent developments in the exact sciences (such as physics, chemistry, and astronomy) entailed the definition and use of many new mathematical relationships, most of which were described in terms of infinite series or processes. The methods of tabulating these functions were inadequate, and so their application to scientific problems was severely hindered.
38
Indeed, it was not just that the methods of tabulation were insufficient, because of their slowness and propensity for errors, but also there were problems in physics that could not be solved because of the lack of means for their computation.
39
There were, then, problems in physics that were unsolvableânot in the Turing theoretical sense that no machine could
ever
solve them (see
Chapter 4
, Section VI), but in the technological sense that computing machines of the time did not have the power or the capacity to perform the necessary computations. Aiken laid the basic requirements that had to be met for the purpose of automatic scientific computation.
He pointed out that accounting machines were concerned only with problems involving positive numbers, whereas machines meant for
mathematical
purposes must be able to handle both positive and negative numbers. Furthermore, such machines must be able to cope with a wide variety of transcendental functions, such as trigonometric, elliptic, Bessel, and probabilistic functions. Third, because most mathematical computations involve iterative processes that compute repetitively over entire ranges of values of some variables, machines dedicated to the mathematical sciences must be fully automatic after a process is initiated without any (or at least minimal) human intervention.
40
Aiken concluded that such features could be realized by converting existing punched-card, data processing machines of the kind made by IBM into scientific computing machines.
41
If attracting IBM's attention was Aiken's immediate purpose in making this pointâa means to a larger scientific endâhe succeeded spectacularly. Through appropriate connections in Harvard, Aiken linked with Eckert, and through Eckert with the right people at IBM. Thus, in 1939, a project was initiated involving Aiken and a team of IBM engineers led by Clair D. Lake (1888â1958), one of IBM's major engineerâinventors, to build a machine according to Aiken's design.
42
The result was the Automatic Sequence Controlled Calculator (ASCC), more widely known as the
Harvard Mark I
âthe first of an evolutionary family of machines built by Aiken and others in Harvard, and also the machine with which IBM began its spectacular reign in the realm of automatic programmable computers.
The Mark I was built at the IBM Laboratory in Endicott, New York, and was shipped to Harvard, where it became operational in 1944. Aiken would later formally acknowledge Lake and two other IBM engineers, Frank. E. Hamilton and Benjamin M. Durfee, as his co-inventors of this machine.
43
The Mark I was described in some detail in a series of three articles published in 1946, coauthored by Aiken and Grace Murray Hopper (1906â1992).
44
If Lovelace was the first female computer scientist (using a present-centered term), then, so far as is currently known, Hopper was the second. Because Hopper was situated in a more opportune time and place, her place in this history is somewhat more prominent.
Aiken obtained his PhD in physics from Harvard in 1939, leaving him unencumbered to pursue his computer project. Hopper, 6 years younger, graduated in mathematics and physics from Vassar College in 1928, then went to Yale, where she earned a PhD in mathematics in 1931. At the time Aiken and Hopper began collaboration on the Mark I, Hopper was on the mathematics faculty in Vassar and had begun service in the U.S. Naval Reserves, and it was in this capacity that she was assigned to the Mark I computer project.
Hopper reappears later in this story. For the present, it suffices to note that, although she was employed by private computer manufacturing corporations later in her life, she
remained in the U.S. Navy for her entire working life, always (it seems) in uniform, retiring with the rank of Rear Admiral. She would become a legendary figure in the world of computing and beyond, and was referred to as “Amazing Grace”. Such was her presence in the development of computer science, a major professional award in computer programming, given annually by the Association for Computing Machinery, America's foremost computing organization, was named in her honor, and a series of conferences titled The Grace Hopper Celebration of Women in Computing has been established.
Hopper shared something else with Lovelace. If the latter was the first explorer (with Babbage) of the
idea
of programming a computer, then Hopper was, even more surely, among the very first in the modern era to be concerned with the science and
practice
of programming.
The Harvard Mark I, like the Bell Laboratories Models I and II (its contemporaries) was an electromechanical machine, although the mechanical dominated. On the one hand, it was powered by electric motors; used relays, contacts, and electromagnets; and printed its results on electric typewriters. On the other hand it, was a conglomerate of gears, shafts, chains and sprockets, clutches, cams, counterwheels, and so on,
45
perhaps reflecting the tradition of the punched-card data processing machines with which its IBM engineers were supremely familiar.
The machine normally operated on numbers of 23 digits of significance, although for particular greater accuracy problems, the number of significant digits could be extended to 46.
46
The machine's storage capacity was composed of 60 memory registers to hold constant numbers and 72 registers to hold variable numbers that could serve as inputs to computations. There were processing units for addition, multiplication, and division, and tables to hold values of transcendental functions (for example, trigonometric functions such as sine, cosine and tan, and logarithmic values). The output of calculations could be recorded on punched cards (which, in turn, were usable as inputs to other computations or shared between computational laboratories) or printed out on paper by way of electric typewriters.
47
An important architectural difference between the Mark I and the contemporary Bell Laboratories computers was that the former was a decimal machine whereas the latter used binary numbers and arithmetic. The overall control of computation was directed by perforated paper tapes read into and decoded by the “sequence control unit,” with each perforated line specifying the operation to be performed, the data source of the operation, and the destination of the result (in present-centered language, the
operands
).
The Mark I was, physically, a massive machine, more than 50 feet long, containing 800,000 components, many of which were adapted from IBM punched-card machines.
48
Functionally and architecturally, it must count as an important contribution to the
pursuit of what we might call a Holy Grailâthe development of
the
automatic, programmable, general-purpose digital computer.
Clearly, such a machine was in Aiken's mind when he wrote his 1937 memorandum.
49
The problem lay in the elusive nature of this Holy Grailâa moving ghost, in fact. How general purpose was general purpose? How automatic was automatic? What did it mean to be programmable?
In Aiken's eyes, in the eyes of Stibitz and his codesigners of the Bell Laboratories machines, and in the eyes Eckert of the Watson Astronomical Computing Bureau in Columbia,
general purpose
meant the ability to perform mathematical calculations characteristic of scientific and engineering problems. A general-purpose computing machine was a
numeric analysis machine
(an expansion of Babbage's idea of an Analytical Engine). The Mark I was designed with this kind of generality in mind, in which the various processes of mathematical analysis were reduced to sequences or combinations of five basic arithmetic operationsâaddition, subtraction, multiplication, division, and referencing tables of previously computed results. The Mark I could carry out any sequential combination of these operations fully automatically.
50
We note Aiken's and Hopper's identification of
five
arithmetic operationsâelsewhere, they also call them “the five fundamental operations of numerical analysis.”
51
The fifth operation is what, in present-centered language, we would call
table lookup
or
table search
âthe capacity to draw on (previously computed) tables of mathematical functions such as trigonometric functions as a means of avoiding unnecessary calculations. Here we have a very early reference to searching as a computational operation. As we will see later, searching (and its near kin, sorting) will form fundamental topics as computer science gradually matures.
To repeat, the Holy Grail of computing was itself an evolving entity. After all, the whole point of automatic computation was to overcome certain frailties of the human mindâits slowness in performing computations, its tendency to make mistakes, its proneness to fatigue and, thus, reliability.
Speed, accuracy, reliability
. These were, of course, the desiderata of all scientific instruments reaching back to antiquity. They assumed still more imperative roles in the design of computers. It was not enough for a computer to be automatic and general purpose. It was not enough for it to be programmable. It must also be fast, it must be accurate, and its mode of computing must be reliable.
Even programmability raised questions and debates. This was not just a matter of infusing generality to a computing machine, it also had an effect on the extent of automaticity as well as on the effective speed of performing computational tasks.
The point is that there are no absolute or optimal criteria for recognizing that one has found this particular Holy Grail. There is also the deplorable limit to human cognitive
capacity; humans are limited in their ability to make the best possible decisions in their ability to optimize. Aiken was trained as a physicist, Stibitz as an engineer, and Comrie and Eckert as astronomers. Their training, their professional upbringing, shaped their mentalities as computer pioneers; and it limited their computational worldviews.
How is this important? During the 1940s, as Aiken and colleagues and Stibitz and associates were going about their projects; as World War II raged; as a huge galaxy of scientists assembled in Los Alamos, New Mexico, to build the most unimaginably destructive weapon of all time; at the University of Chicago, not too far from where the Italian-American physicist Enrico Fermi (1901â1954) and his team were producing the first controlled nuclear chain reaction in the world's first nuclear reactor, a precocious social scientist named Herbert Alexander Simon (1916â2001)âwho, like Fermi, would one day receive a Nobel Prizeâwas writing a PhD dissertation in political science. His topic was how human decisions are made in organizations. This dissertation, duly completed and accepted by the University of Chicago, was fine-tuned and published in 1947 as a book titled
Administrative Behavior
.
52
One of Simon's major insightsâindeed, a Nobel Prize-winning insight, as it turned out to beâwas that humans, being limited in their cognitive capacity, are severely limited in their ability to make rational decisions. Such limits originate in the fact that, to make fully rational decisions, a person must have access to all possible information relevant to that situation; moreover, the information must be complete and correct, and the decision maker must be able to process the information speedily, reliably, and accurately to arrive at the best possible course of action to follow.
In actuality, in most situations, the available information is neither complete nor correct, or a person may not have all the relevant information even if it is somewhere “out there” in the cultural environment. Even if the person is fortunate enough to have all the relevant and correct information, his capacity to process it and produce the most rational decision in a speedy, accurate manner may be severely limited. In his later writings, Simon would call this cognitive limitation on rational decision making
bounded rationality
.
53
So, under the condition of bounded rationality, how
do
humans make decisions? Simon suggested that, rather than seek the best, good human decision makers strive for what is
good enough
; they establish certain goals as aspirations that seem within their cognitive capacity and strive to reach those aspirations. If they succeed, they may not have made the best possible decision, but one that is satisfactory. Instead of trying to optimize, decision makers
satisfice
.
54
Satisficing, not optimizing, is the name of the decision maker's game.
What Simon theorized about administrative decision making applies equally well to the realm of much of human problem solving, as Simon has himself explored
55
âand that
includes design processes.
56
The designer of any reasonably complex artifact suffers from bounded rationality, and she has very little choice other than to satisfice her design.