Early Digital Computer Developments
in England
Wilkes Mauris
UK
The events that I am going to speak about took place in England during the six years from 1946‑1950. This was the period when the earliest stored program computers of the modern kind were being built. 
The principles on which these computers were based had been developed at the University of Pennsylvania in the United States, where the ENIAC was designed. This was a vast machine, and its designers, Presper Eckert and John Mauchly, came to realize that, by the application of logical principles, it would be possible to build a much smaller and, at the same time, more powerful computer. The basic new concept was to base the design on a large digital memory in which both data and program would be held. Such a memory was an entirely new requirement, and nothing of the kind existed. Nevertheless, Eckert was able to make a practical suggestion as to how one might be constructed.
The ideas sketched above had begun to emerge when von Neumann joined the group in a consulting capacity. The ideas soon took a definitive form and von Neumann drafted a report in which they were set out in some detail. A number of copies of this report were circulated under von Neumann's name alone. The natural result was that the stored program computer became known as the von Neumann Computer. It is now generally accepted that this does not reflect a true allocation of credit for the ideas in the report and I prefer the term Eckert-von Neumann Computer.
I saw a copy of the von Neumann report in May 1946. Later that year, Imet Eckert and Mauchly and other members of their team during a visit to Philadelphia, where I attended the latter part of a course of lectures in which they were the principal speakers. The ideas were now perfectly clear and the next step was to put them into practice by building a working computer. This posed a considerable challenge in electronic engineering and a number of groups were established to take up that challenge. Three of these groups were in England, one under Professor F. C. Williams at Manchester University, one under my direction at Cambridge University, and a third at the newly established Mathematics Division of the National Physical Laboratory, situated in Teddington near London. The machine built at Manchester had no particular name, that built at Cambridge was called the EDSAC, and that built at the National Physical Laboratory was called the Pilot Ace.
The Engineering Challenge 
The problem, as it appeared to an electronic engineer of the period, was not so much the design of electronic computing circuits, as the design of a satisfactory digital memory since, as I have said, nothing of the kind had existed in the past. I determined to follow Eckert's suggestion and build an ultrasonic memory. This worked on a circulating principle. Pulses of ultrasonic sound were propagated repeatedly through a column of mercury about 1.5 meters long. Each transit took about 1 millisecond and, in the case of the EDSAC, about five hundred pulses could be in transit at any one time. The device would therefore provide storage for that number of binary digits. For the EDSAC, we planned to have 32 mercury tanks, as they were called.
Building an ultrasonic memory would obviously call for some in novation, but the principles involved were those of classical physics, and there was no reason to fear that any in superable problems would been countered. F. C. Williams, on the other hand, was planning to use a form of memory based on an ordinary cathode ray tube such as was used in television. Binary digits were stored in the form of distributions of electric charge on the rear surface of the screen. Since the charge would leak away rapidly, it was necessary for the pattern to be regenerated by frequent sweeps of the beam. Williams had been working on this system for some time at TRE, one of the British wartime radar establishments. It was speculative research, but highly successful. Williams took it with him when he moved to Manchester University. He also took Tom Kilburn, who had been working with him on the project. A few years after wards, Williams turned his attention to other things and Kilburn took over the whole of the computing activities at Manchester University. Later, when a Computer Science department was formed, Kilburn became its head. The Williams tube memory, as it was called, was to come into wide spread use in computers, both in the UK and in the United States, in the period before its successor, the core memory, was perfected. In order to demonstrate that the cathode ray tube memory was sufficiently trust worthy to form the basis of a full-scale computer, Williams and Kilburn put together a ''baby'' computer. This had a minimal amount of storage and an abbreviated instruction set that included a subtract order but not an add order. Nevertheless, it was capable of running simple programs. In view of the much more pedestrian character of the ultrasonic memory, we had no need in Cambridge for a baby machine. We felt that any intermediate demonstrations could only delay the completion of the final machine and we avoided them. Although the baby was essential to Williams's plan, I believe that he shared our view about diversion of effort, since he dismantled the baby as soon as he was satisfied with the performance of the memory. In a way this was a pity, since the mathematicians at Manchester would have found it an interesting toy to play with.
The machines at Manchester and Cambridge both began to perform calculations at about the same time in the summer of 1949. However, the former did not receive fully service able input and output equipment until a little later. The transition from the building of a computer to putting it into service went with unusual smoothness at Cambridge. This was partly because, in addition to my experience as an electronic engineer, I had the advantage of having also had some experience in numerical mathematics as an experimental physicist. The third major computer project in England, that at the National Physical Laboratory, was delayed by administrative causes and the final machine was not operational until about a year after the other two. It also made use of an ultrasonic memory and was not able for the high quality of the circuit design that went into it. Major credit for this must go to E. A. Newman, who had received his original training as an electronics engineer under Alan Blumlein, a pioneering British engineer of almost legendary reputation who was killed in an aircraft crash during the war. Alan Turing had been in charge of the initial work on computers at the National Physical Laboratory, but he left before the construction of the Pilot Ace got firmly under way. A good snapshot of the state of computer development in England is given in the report of a conference held in Cambridge in June 1949 and attended by representatives of all the British groups, together with a few people from the continent of Europe. An edited reprint of this report will be found in the MIT/Tomash Reprint Series for the History of Computing.
Acquiring Experience in Programming
The early computer groups all developed individual attitudes to the way programs should be prepared and to the support that should be offered to programmers. This was true both in England and in the United States. In Cambridge we saw a computer as being used for both large and small problems, but on the whole we put our emphasis on small problems. As soon as we could, we offered the computer for use throughout the University and we expected prospective users to learn to do their own programming. For this reason, we attached much importance to what later became known as programming methodology. 
Punched paper tape was used for input to the EDSAC and, from the beginning, we punched our programs in what may fairly be described as a primitive form of assembly language. We put much effort into the building up of a library of sub-routines. The original objective in doing this was to avoid duplication of effort on the part of programmers. It soon became apparent, however, that the use of library routines which had been well tested in advance, also had the beneficial effect of reducing the incidence of programming bugs. D. J. Wheeler, who had joined the laboratory as a research student shortly before the EDSAC was running, contributed greatly to these developments, particularly by his invention of the closed sub-routine. In Cambridge we were some what unusual in the importance we attached to the development of an elegant and convenient programming system. This was perhaps because programming development was in the hands of the engineering group who had been responsible for the design and construction of the machine. In other places programming development was left to the care of mathematicians who tended to regard programming as mathematically trivial and did not see it as a field to which logical and innovative thought could be applied. I am speaking of programming in the sense of coding rather than of numerical analysis, which everyone agreed was a mathematical subject. It was not until much later, with the coming of high-level programming languages, that mathematicians began to see programming as a subject worthy of their attention. In Manchester, the programming system was designed by Turing. While it was far from elegant and made few concessions to the needs of the ordinary user, whose main interest lay in getting results, it was perfectly service able in the hands of experts. The special contribution made in Manchester to the programming art as such came from the fact that their machine had a magnetic drum which provided permanent storage for the routines and data with which the programmer was working. Although, as in Cambridge, many small programs were run on the Manchester machine, there was also emphasis on large problems. The direction that programming took at the National Physical Laboratory further illustrates the way in which the characteristics of particular early computers affected the choice of problems to be run on them and the way the art of programming developed. The Pilot Ace used punched cards for input and output instead of the paper tape used at Cambridge and Manchester. It was possible to punch twelve numbers in binary form on to a single card, and later to read them back into the computer; in each case the action was accomplished during one passage of the card. This was fast enough to enable cards to be used as a form of auxiliary storage that could be used to back up the ultrasonic storage.
It turned out that the ability to use punched cards in the above way, made the Pilot Ace very suitable for problems in linear arithmetic, especially the solution of simultaneous algebraic equations and the computation of the eigen values of matrices. Such problems attracted the interest of J. H. Wilkinson, who rapidly acquired an international reputation for this kind of computation and was the author of a substantial book on linear algebra.
The Other Half of the Story
Developments in the United States closely paralleled those in England. In fact, in writing about early computer developments in England, I am conscious of telling only half of what is really one story. The bonds between the United States and the UK were then very close - as they still are - and developments in one country can not be properly understood without reference to the other. I urge that anyone who is interested in obtaining a more balanced view of the period than I can give here should read the relevant chapters of my book, Memoirs of a Computer Pioneer, (MIT Press 1985).
The first American computer to run was the SEAC at the National Bureau of Standards in Washington DC, which was running in 1950. It was followed shortly after wards by the SWAC, built in Los Angeles also for the National Bureau of Standards. In the United States, as in England, the various groups developed their own individual approaches to programming methodology and to the choice of problems. It is unfortunate that neither my brief, nor the time available, enables me to follow these developments further. In both countries, the work of the pioneers led to commercial developments. In England, the Manchester machine was commercialized by Ferranti Ltd., the EDSAC by Leo Computers, Ltd., and the Pilot Ace by English Electric, Ltd.
European countries had only just begun to recover from the dislocation caused by the war - remember that I am writing about a very early period, namely, 1946-50 - and did not participate in the early computer developments. The work that Konrad Zuse had done in Germany during the war years did not become known in the UK and the US until much later.
In retrospect, it appears that the development of the earliest computers went with very great speed, although it did not appear quite that way to those who lived through the period. The machines that I have mentioned all began to work within about a year of one another, and others were not far behind. In the nature of things, priorities will always be discussed and claims made, but the practical consequences of differences in timing were slight.