Computers—Work in progress
n5321 | 2025年7月3日 11:37
The history of computers, particularly digital ones, dates from the first quarter of the 17th century (see ref. 1 for review). The first known machine was built by Wilhelm Schickard, a professor at Tübingen and a friend of Kepler's. Interestingly, this occurred at the same time that Napier invented logarithms. The device was built, but it, as well as the copy for Kepler, and the inventor himself were destroyed by the fires and plagues of the Thirty Years' War. The next machine, copies of which still exist, was built by Pascal and was described in Diderot's Encylopédie. This device became an important part of a desk calculator designed and constructed by Leibniz who said:
"Also the astronomers surely will not have to continue to exercise the patience which is required for computation. It is this that deters them from computing or correcting tables, from the construction of Ephemerides, from working on hypotheses, and from discussions of observations with each other. For it is unworthy of excellent men to lose hours like slaves in the labor of calculation which could safely be relegated to anyone else if machines were used."
This enunciation by Leibniz of a purpose for automatic computing is a memorable one. Science, or at least mathematical astronomy, had advanced sufficiently by his time so that calculation was a real burden and it was recognized to some extent how this burden could be lightened. Certainly Kepler, using tables of logarithms he himself calculated based on Napier's schema, did extensive calculations in order to produce his Rudolphine Tables.
The time for the digital principle, however, had still not come, and even by the early part of the 19th century the Nautical Almanac was being calculated by groups of humans all busy making separate and independent calculations with attendant errors. The situation was so bad by 1823 that Charles Babbage, one of the founders of the Royal Astronomical Society in 1820, set out to create a digital device to construct tables by a method, certainly well-known to Newton, called subtabulation. In this method, one first calculates a comparatively few entries in a table by hand a priori, and then the entries lying between them are filled in by systematic interpolation using essentially only additions and subtractions.
For various reasons this was a propitious time in English history to attempt to automate computation. Trevelyan (2) tells us:
"A new civilization, not only for England but ultimately for all mankind, was implicit in the substitution of scientific machinery for handwork. The Greek scientists of the Alexandrine age, the contemporaries of Archimedes and of Euclid, had failed, to apply their discoveries to industry on the big scale. Perhaps this failure was due to the contempt with which the high-souled philosophy of Hellas regarded the industrial arts conducted by slave labour; perhaps the great change was prevented by the disturbed and war-like state of the Mediterranean world during those three hundred years between Alexander and Augustus, when Greek science was in its most advanced state. In any case it was left to the peaceful, cultivated but commercially minded England of the generation that followed Newton's death, to harness philosophic thought and experiment to the commonest needs of daily life. The great English inventors negotiated the alliance of science and business."
In the process of trying to build his machine, Babbage went to the continent and saw the Jacquard loom. He wrote:
"It is known as a fact that the Jacquard loom is capable of weaving any design that the imagination of man may conceive... holes [are punched] in a set of pasteboard cards in such a manner that when these cards are placed in a Jacquard loom, it will then weave... the exact pattern designed by the artist.
"Now the manufacturer may use, for the warp and weft of his work, threads that are all of the same colour; let us suppose them to be unbleached or white threads. In that case the cloth will be woven all in one colour; but there will be a damask pattern upon it such as the artist designed.
"But the manufacturer might use the same card, and put into the warp threads of any other colour.
"The analogy of the Analytical Engine with this well-known process is nearly perfect.
"The Analytical Engine consists of two parts:
"1st. The store in which all the variables to be operated upon as well as all those quantities which have arisen from the results of other operations, are placed.
"2nd. The mill into which the quantities about to be operated upon are always brought.
"Every formula which the Analytical Engine can be required to compute consists of certain algebraical operations to be performed upon given letters, and of certain other modifications depending on the numerical value assigned to those letters.
"The Analytical Engine is therefore a machine of the most general nature. Whatever formula it is required to develop, the law of its development must be communicated to it by two sets of cards. When these have been placed, the engine is special for that particular formula.
"Every set of cards made for any formula will at any future time, recalculate that formula with whatever constants may be required."
We see here for the first time a clear statement of a computer similar to the later electromechanical machines built in our time. Its chief flaw lay in its speed, which was roughly that of a human. Interestingly enough, Babbage understood a good bit about programming and had, as his programmer, Ada Lady Lovelace, the beautiful and talented daughter of Byron, the poet. She actually wrote out a program for calculating the so-called Bernoulli numbers, but the machine was never completed. In fact, in 1915 a Lord Moulton wrote of Babbage:
"When he died a few years later, not only had he constructed no machine, but the verdict of a jury of kind and sympathetic scientific men who were deputed to pronounce upon what he had left behind him, either in papers or mechanism, was that everything was too incomplete to be capable of being put to any useful purpose."
When Thomson and Tait had need for numerical calculation, they correctly dismissed Babbage's ideas as impractical and too slow to be useful in physics. Instead, they, as well as Maxwell, became deeply interested in analog computers. In this connection here is what Maxwell said about computing:
"I do not here refer to the fact that all quantities, as such, are subject to the rules of arithmetic and algebra, and are therefore capable of being submitted to those dry calculations which represent, to so many minds their only idea of mathematics.
"The human mind is seldom satisfied, and is certainly never exercising its highest functions, when it is doing the work of a calculating machine. What the man of science, whether he is a mathematician or a physical inquirer, aims at is to acquire and develope clear ideas of the things he deals with. For this purpose he is willing to enter on long calculations, and to be for a season a calculating machine, if he can only at least make his ideas clearer."
Kelvin built a harmonic analyzer to analyze tidal motion, which was capable of handling eight integrals simultaneously. He said on the occasion when his machine was dedicated that he was "substituting brass for brains." He also conceived of, but was unable to build, the first differential analyzer. In the 1930s this was done by Vannevar Bush as part of an extensive program he conceived to automate computation. Unhappily, Bush and his colleagues became so immersed in the intricacies of analog devices that they overlooked or had little confidence in the beautiful simplicity of the digital approach by electronic means.
The onset of the Second World War in the United States found us with a considerable and rapidly growing knowledge of electronics because of the work in England and the United States on radar and fire control directors as well as counters of many sorts. Also at this same time there was a great demand for computation by the Ordnance Department of the U.S. Army for the production of firing and bombing tables for a wide variety of guns and bombs and by the Los Alamos Scientific Laboratory. It was this confluence of developing technology and need which led to the more or less inevitable development at the University of Pennsylvania of the first electronic computer, the ENIAC, at the beginning of 1946. This monstrously large device was capable of performing 300 multiplications per second and of storing at electronic speed 20 words of 10 digits each or 40 of 5 digits.
The speed of this machine was the stuff out of which revolutions are made: an increase in speed of more than 2 orders of magnitude over the 1 multiplication per second of the best electromechanical devices of the same period. Thus, man at long last had in hand a computing device, with the prospect for others, that totally transcended the capability of any other system. By means of this device it immediately became possible to discuss the solution of entirely new classes of problems.
At this time, the Los Alamos people, largely under the leadership and goading of von Neumann, were becoming skilled in the mathematical formulation of some of the complex problems facing the developers of the atomic and hydrogen bombs. Among other things they needed a machine that could operate at speeds such that it was practicable to solve partial differential equations numerically. The ENIAC was just such a device, and von Neumann jumped at the chance. The test problem for the ENIAC that we agreed upon was such a problem, and after much travail it ran successfully, thereby opening up a new era. This was in a sense the most obvious and primitive use for the computer: the solution of scientific (i.e., applied mathematical) problems by numerical means rather then by some species of physical experimentation.
By this I mean that much physical experimentation of that period was not concerned with the determination of physical constants but rather was a form of analog computation since the differential equations of motion could in fact be written down but not solved except by some special-purpose analog device.
It was a successful project led by von Neumann and myself at the Institute for Advanced Study that led to the design and development of what may be viewed as the prototype of the modern computer in the early 1950s. In fact, to this day, computers are often called von Neumann machines. This project was successful because it was multifacetted: there was a fine engineering group; a numerical analysis and logical design group that may safely be said to have started the modern field; a group that started the field we today call "programming" or "software"; and a numerical meteorology group that showed the scientific community of the world the importance of digital computers and computing to one important aspect of society, the weather.
The Institute computer was copied and the copies were copied. Many other universities became interested and took active parts. But in my opinion the next great step was the entrance of industry into the picture. This is what made all the difference in what followed. All those in the academic world had busily erected a tower of Babel, and no one could any longer understand his neighbor. It was the introduction by industry and, if I may be permitted "a plug," it was the introduction by IBM of the 650 and the 701 that made the difference. All at once there were large numbers of identical machines in many places so that it was possible for John Backus and his colleagues to introduce FORTRAN into the scientific community as a lingua franca in 1953 and 1954. The value of this language can be perceived from the fact that today it is still perhaps the most widely used language in the computer field.
So far I have made mention only of scientific users of the computer and have indicated that it is perhaps the simplest and most obvious such usage. We need now to consider the deeper and certainly more exciting uses that well may be more influential in our society.
There were two pioneering organizations that made early use of electronic computers for nonscientific computations: the Lyons Tea Shops, a chain of wholesale grocers in England that built its own machine (LEO), and our Census Bureau that bought one of the earliest electronic computers (UNIVAC). The large-scale use by business and government for nonscientific purposes did not occur until considerably later for three reasons: the innate lack of understanding by business people of the importance of data; the failure of the computer industry to understand that separate machines for business and science were not needed; and the lack of understanding among business people of the forthcoming shortage of humans to undertake burdensome tasks.
On the technical side I believe that the "great leap forward" to commercial or nonscientific computation came when two entirely independent events occurred. On the technological side the magnetic core was invented and almost overnight became the prime device for building much larger and more reliable memories than had previously been possible; and nearly at the same time, solid-state devices—diodes and transistors—came on the scene to provide both smaller, faster, and more reliable switches. On the programming side the work of Backus and his associates had begun to show people how to manipulate information in a way hardly attempted before. Prior to this time, computer users had primarily manipulated numerical material, and the great utility of the computer lay precisely in its speed in this manipulative process. With the advent of new programming languages, computers were used to interpret and translate sentences from one language to another so that information was for the first time being manipulated per se. I believe this ability rapidly developed to the point where it became apparent that all manner of information or data could profitably be stored, manipulated, retrieved, and altered.
One of the early and highly successful applications of this sort was the American Airlines reservation system. When this was introduced it was a most important experiment in which a considerable wealth of data could be processed very rapidly on a nationwide basis by clerks with only a modest amount of training; the result was better and faster service for the customer and a more efficient use of planes and seats by the airline. This system also served to bring to the attention of the business community the elegant tying together, for greater efficiency, of far-flung branches. Prior to this time, branch offices—for example, of banks or great sales companies—had only minimal connection to their main offices. As soon as the American Airlines experiment appeared it began to become apparent how tightly one could knit together the widespread offices of a great company.
The information field today directly contributes more than 80 billion dollars to the gross national product. This helps to show the value of information now in contrast to the days of the ENIAC. Today we live in a society in which information is used, valued, and transmitted worldwide in great quantities.
To understand the nature of these processes let us recall that in our early discussion we spoke of the numbers of multiplications per second. We introduced this figure of merit because in the scientific calculations of the 1940s and 1950s the dominant time spent during a calculation was on doing multiplications. This is no longer the case. For the computing systems of today a better figure of merit is the number of instructions performed per second and is commonly quoted in the unit of MIPS, millions of operations per second. (Good-size machines may well have ratings of 5-10 MIPS.) It is also sometimes convenient to measure commercial performance by the number of transactions per second. A transaction is one complete interaction between a customer and clerk as carried out by a computer. Such transactions may contain as few as 10⁴ instructions or as many as 10⁶ instructions. Evidently each company needs to decide how long customers can reasonably spend on a typical transaction and it tries to procure a computer that will keep transaction times down so that each customer is served promptly and all clerks are used efficiently.
The technological advances on the hardware side have been truly incredible and have made possible the advances suggested above. Since the time of the ENIAC, speed of circuitry or switching speed, which used to be measured in hundreds thousandths of a second, is now measured in trillionths of a second, an increase of 7 orders of magnitude. To make use of these new speeds it has been necessary to make circuits much smaller because, in a trillionth of a second, light, and hence an electrical signal, will travel about 0.5 m. Thus, to maintain efficient operation of computing machine circuits it has been necessary to shrink circuit dimensions dramatically. To produce these dimensional sizes it has been necessary to resort to processes of printing circuits by means of optical and electron beams. With these compressions in size and expansions of speed have fortunately come corresponding economies of scale so that the present-day circuits cost much less than did earlier ones. This has resulted in real cost benefits to customers. It is worth noting at this point, however, that these extremely tightly packed circuits generate sizable amounts of heat whose dissipation has become a possible barrier to increased miniaturization. The solution to this problem is a key step on the path to further progress.
Not only have circuits become smaller but even the storage of information on such media as magnetic disks has improved so that today we can store about 10⁷ bits per square inch compared to a few times 10⁴ just 25 years ago.
Along with the miniaturization of circuits have come a number of exciting new prospective technologies. To avoid the heat problem mentioned earlier, techniques based upon the so-called Josephson effect are attractive. By operating at temperatures near absolute zero, switches can be made to operate at speeds as much as 10 times as fast as the best we have today. These devices will have heat dissipations of perhaps 1/1000th those of present ones.
Still another elegant technology already on the market is that of so-called magnetic bubbles—i.e., magnetic domains on a thin sheet of magnetic material, that can be moved about by appropriate fields and their presence or absence detected. Potentially at least, this type of memory should be much faster than a disk; the rates at which data can be transferred is very high, but the cost is not cheap as yet.
Happily, along with miniaturization has come great cost reductions with corresponding large increases in the sizes of the memories and of the control circuitry available for computers. Indeed, the ENIAC can today be put upon a silicon chip 1 cm on a side. The continued increase in the packing density of electronic circuits is steadily increasing. It is believed that during the next 5 or 10 years it will be possible to buy commercially a memory chip containing 10⁶ bits. This has led, as we all know, to the extremely rapid development of a new subfield, the microprocessor field. That it will have far-flung applications is already quite evident. One of the most obvious changes in our society caused by this new technology is the number of shops selling "home computers."
Another impressive trend is the coalescing of the fields of telecommunications and computers. This has come about both because data are now quite valuable and because satellite technology has made it possible to offer data for sale worldwide, just like any other commodity. In this connection, the use of fiber optics is likely to lead to elegant new applications in the computer/telecommunicating field.
Spectacular as has been the development of hardware for computers, the development of programming has, if anything, been comparably exciting. It has been estimated that as much as 100 billion dollars has been spent in the field of programming in the last 30 years. It is estimated that the costs of all computers installed across the world is about the same amount. We thus see the importance of programming to our world society. This importance will probably continue to increase as we become ever more dependent upon computer-stored information of all sorts. Indeed, modern business now is so structured that the computer is no longer just a useful adjunct—it is an integral part of very many businesses and provides ever-increasing services to customers.
One of the greatest challenges facing us is the task of learning how to bring down the costs of programming in some major way. The field is unhappily highly labor-intensive and as such is an expensive business. Because the costs of this activity are going up all the time, there are and will continue to be great efforts made to automate substantial parts. To what extent and when this will materialize is a major problem of the industry.
It is dangerous to conjecture how rapidly new technologies will appear, but in the beginning of the next century the speeds of large modern computers could be 2 orders of magnitude greater than they are at present. Such speeds would imply almost necessarily very large storage capacities so that the flow of data in perhaps 25 years will be extremely large.
The problem of how to design, construct, build, and test the circuits implicit in such machines is a challenging one, which has certainly to be faced before progress can be made; it must also be realized that the development of these machines will require great advances in programming as well. Indeed, unless these problems receive satisfactory solutions there will be no great advances.
Footnote
* Presented on 21 April 1980 at the Annual Meeting of the National Academy of Sciences of the United States of America.
References
Goldstine, H. H. (1972) The Computer from Pascal to von Neumann (Princeton Univ. Press, Princeton, NJ).
Trevelyan, G. M. (1966) British History in the Nineteenth Century and After, 1782-1919.