The Discovery of Debugging
Total Page:16
File Type:pdf, Size:1020Kb
THE INFORMATION AGE Brian Hayes Louise Neve/solt, Tra nsparent Sculpture VI. 1967-68 The Discovery of Debugging n May 6, 1949, a length of who teaches ar the University of War bles for the U.S. Army since 1945, but it punched paper tape was threaded wic k. The simuhuor turns a modern was noc a computer in the modern sense. O into a mac hine at the University Macintosh computer into a surprisingly Ie eQuId not he programmed except by of Cambridge; a few seconds later a near faithful- sometimes frustratingly faith setting switches and pluggi ng in patch by teleprinter began tapping OUt a list of ful-replica of rhe EDSAC. cords. The idea of controlling a machine numbers: 1, 4,9, 16, 25, .... The tape It is a commonplace observation that all by means of a program StOred in its own reade r and the teleprinte r were the input the computing power of forty years ago--- memory made its public debut in John and ou'rput devices of an electronic digi the rooms filled with glowing vacuum von Neumann's " First Draft of a Report tal computer, a machine called the ED tubes, the tons of <lir conditioning, the on the EDVAC," written in 1945, JUSt af SAC; calculating the squares of a list of squadrons of attending technicians-will ter the end of (he Second World War. numbers was iIS fir st fu ll test. Indeed, it now fit comfonably on a corner of your At Cambridge a year later, Maurice V. was the first time any full-scale compmer, desk or in your briefcase or evell in yo ur Wilkes, rhe new directOr of the Mathe in the modern sense of the rerm, had suc Docket. But it is one thing ro compare per matics Laboratory, saw a copyofvon Neu cessfully fun a program. formance specifications, me mory capaci mann 's report. Soon the reafter he was on Computers and computing have ties and program benchmarks; it is quite hi s way to Philadelphia for a summer changed drastically since 1949-more so, another accual]y to see one ofthe earl y iron school at the Uni versity of Pennsylvania, pe rhaps, chan any other e lement of tech giants of computing encompassed in the where the stored-program concept was nology. The EDSAC is long gone; most of little plastic box of a Macintosh. There is discussed in detail. The Pennsylva nia its pans were sold for scrap in 1958. No so mething incongruous about it, like the group was then gearing up to begin build one will ever build another machine like dozen ci rcus clowns in the miniaru re car. in g the EDVAC (Electronic Discrete Vari. it. Nevenheless, it is still possible to write able Automatic Computer), and Wilkes programs for the EDSAC, ro load those he EDSAC was part of the first gener return ed co England with the determina programs in to the paper-rape reader and Tation of computing machines to ci on (Q create a stored-program machine of rh en co see (and hear) the results come e merge in the aftermath of the wartime his own. He called it the Electronic Delay ti cking out of the te leprinter. The rime ENlAC (Electronic N umerical Integrator Storage Automatic Calculator. The simi· machine that offers this transport ioco {he and Computer) project. The ·EN IAC it lariry of the acronyms EDSAC and EDVAC pase is a simulator created by Manin self, built at the University of Pennsylva was no coincidence. Campbell-Kell y, a historian ofcomputing nia, had been churning Out ba llistics ta Back in the United States the EDVAC 10 THE SCIENCES 'July/AuguJlI99J project suffered several changes of lead er, the EDSAC exceeded the fondest chine to be a word processor one moment, ership and also deve loped a case of creep dreams of the modern "power user." It an artist's sketch pad the next and a sim ing-enhancement disease: every stage of dtew about twelve ki lowatts from the mu ulator of an antique computer th e next. construction was delayed by some bright nicipal electric supply. (A Macintosh to The disparity between the advanced idea about how to make the mac hine big day draws about a tenth of a kilowatt.) state of hardware design and the primi ger or better or faster. Indeed, the version Comparing the EOSAC with the very tive state ofsoftware development can be of the EDVAC finally constru cted at latest computer technology may noc be expressed as follows. Most of th e abstrac Pennsylvania bore little resemblance co the best way of conveying 3 sense of its tions th at serve as the fundamental build the machine described in von Neumann 's capabilities. The EDSAC reminds me ing blocks of computer hardware had al "First Draft." Wilkes stuck close to his strongly not of the computers I see on ev ready bee n recognized in 1949: Boolean original design and finished a year earlier. ery deskcop coday but of the fiIst machine logic ga tes, regisre rs, clock ci rcuits, coun The EDSAC occupied the upper Roa r on which I had any expe rience of pro re rs, adders, shifters. and perhaps most ofa building that had once been the anat gramming, not quite twenty years ago. important rhe di vision of the machine in omy school in Cambridge. T he control That machine was closely matched to the to subunits for me mory, control, arith circuits, as well as the circuits responsible EDSAC in memory capacity and execu me tic and logic, input and Output. T here for logical and arithmetical operations, tion speed, as well as in its Spartan facili is a corresponding set of abstractions for were based on vacuum tubes- some ties for in put and output. Ie was a pro software: sequences, branches, loops, If 3,500 of them-arranged in ta ll steel grammable hand-held calculator made by eration, recursion, procedures, armys, racks that filled the room like li brary Hewlett-Packard. sets, lists, queues, stacks and so forth. shelves. The memory clements of [he Few of those concepts had ye t appeared, compute r were mercury delay lines: few weeks after the EDSAC ran its except in the most embryonic form. Even tubes fi ve fee t long, fill ed with mercury, A first program, a conference on "high more conspicuously absent was the idea wj th a quar[Z transducer at each end. UI speed automatic calculating machines" of a programming language. No hi gher uasonic pulses representing binary digits was convened at Cambridge. Here was a level programming languages existed were uansmicred inm the mercury at one chance for Wilkes and the rest of the EO (FORTRAN did not come along until end of the tube and received at the othe r SAC crew to show off their accomplish 1954), and ehe programmin g nocations end; the received signal was the n ampli mencs and {O compare notes with repre then in use, namely the in struction sets of fie d and transmitted aga in , so that the sentati ves of other laboratories in Great the various computers. were not viewed pulses circulated continuously and cou ld Britain and in Europe and the U.S. The as having a linguistic aspect. N o one had be scored indefinitely. Each such "long record ohhe confe re nce has been reprint set forth th e grammar of an instruction tank" in the main memory held 576 bits, ed as Vo lume 14 in rh e Charles Babbage set, and no one was ready to attribute organized as thirry-two "words" of eigh Institute Reprint Series for {he History of meanin g to a program as an independent teen bits each; the design ca lled for Computing; reading it offers a glimpse in entity, separate from the computer that thirty-two tanks, and so the total capacity to the small world of computer engineer would execute il- was 1,024 words. ing at midcentury. I can suggest fWO reasons software was What snuck me first when I read clle so much the stunted sibling of hardware in he EOSAC, like most of the other conference record was the remarkably ad the earliest years ofcomputing. First, most Telectronic computers conceived in vanced state of thinking on computer ar of the computing pioneers still viewed th e the 1940s, was a "bit-serial" machine. chitecture and hardware design at a mo compute r. as a strictly numerica l calcul ator. The data paths threading throughout the ment when there was little practical Its function was to solve mathe matica l processor were just one bit wide, and so experi ence to guide that thinking. Much problems. T he idea chat it might operate communicating an eighteen-bit machine of the "des ign space" for digital computers not JUSt on numbers bl){ also on sy mbols word from one place to another required had already been explored or at least more generally-incl uding its own pro eighteen steps. Bit-serial architectures roughly mapped Ollt. The basic circuits for grams-had nor yet caught on. Programs are rare today;' mOSt of the common performing various arithmetical and logical were seen not as interesting objects in microprocessors have dara paths that are operations had been devised. The relative themselves bue merely as tools for manip sixteen or thirty -two bits wide. The serial merits of binary notation and of other op ulating numbers. Second, no one yet ap arrangement was slower, but it had th e tions such as binary-coded-decimal were preciated that programming a digital com imporcant advantages of sim plicity and well understood.