What changes when instructions are stored in memory?
A machine can be programmable without holding its program in electronic memory. In ENIAC’s original configuration, connections between units and switch settings determined the operations. Changing the calculation therefore required physical preparation and checking. That did not prevent automatic computation or considerable flexibility by the standards of the time.
With a stored program, instructions become coded information that the machine retrieves from memory. The same calculating equipment can follow different sequences according to the instructions loaded. Someone still has to prepare the program, enter data and check the answer: memory does not remove the work of programming.
Consider a simple teaching example. Switching from calculating squares to calculating sums might require rewiring a hardware-programmed machine. With instructions in memory, the change mainly involves loading another program. This illustrates a difference in preparation, rather than measuring how long either task took on a particular historical computer.
Our article on von Neumann architecture explains the general principle. The practical challenge here is more specific: how do you retain instructions long enough, read them without losing them and retrieve them when needed?

Original Bethemesh diagram. Arrows show preparation and execution steps, not a machine’s wiring. The left-hand example draws on ENIAC’s original configuration; it does not describe every earlier computer.
EDVAC and ACE: projects that helped ideas spread
The stored program did not emerge from a single demonstration. Work on ENIAC and its proposed successor, EDVAC, brought together J. Presper Eckert, John Mauchly, Herman Goldstine, Arthur Burks and John von Neumann, among others. They considered both the organisation of the computer and the physical means of retaining information.
In 1945, the First Draft of a Report on the EDVAC, bearing von Neumann’s name, helped disseminate this approach. Its documentary importance does not make its named author the sole originator of ideas developed through the team’s discussions. Our John von Neumann biography places his contribution in that collaborative setting.
In Britain, Alan Turing worked at the National Physical Laboratory on ACE, the Automatic Computing Engine. His post-war proposals also explored the organisation of a programmable electronic computer. Pilot ACE, a later machine developed along this line, should not be confused with Baby or EDSAC.
These projects drew on computing experience, component research and scientific exchanges. Building an operational machine then required engineering choices: an architecture on paper could not guarantee stable memory or a correctly executed program.
Manchester Baby: building a computer to test its memory
Williams, Kilburn and Tootill
Electronic storage was the starting point in Manchester. Frederic C. Williams developed a cathode-ray tube storage technique, continuing research begun at the Telecommunications Research Establishment. Tom Kilburn worked with him to refine it, while Geoff Tootill helped build and test the experimental machine.
Their work also depended on the technical resources available after the war. Components, circuit expertise and measuring instruments mattered as much as the underlying idea. The familiar name “Williams tube” should not obscure Kilburn’s contribution; Williams–Kilburn tube better reflects the collaboration.
Keeping electrical charges alive
An electron beam can create patterns of electrical charge on a cathode-ray tube screen. The storage system distinguishes states that represent bits. These charges do not last indefinitely, so the information must be read and regenerated to preserve it.
Displaying a stable pattern was only part of the challenge. Computer memory had to withstand repeated reads and writes while calculations continued. Baby, officially the Small Scale Experimental Machine, was built to test that behaviour within a complete computer.
Its main memory held 32 words of 32 bits, shared between instructions and numbers. That is 1,024 bits, equivalent to 128 modern bytes, excluding the machine’s other storage elements. The conversion gives a sense of scale; it does not mean that Baby addressed bytes like a modern computer.
21 June 1948: a program that also tested endurance
Kilburn wrote the first successful program to find a factor of an integer. Trial values and repeated subtraction exercised the instructions, changes in execution sequence and memory over an extended run.
The famous test involving 2¹⁸, or 262,144, should not automatically be identified with that first success. Manchester’s historical account distinguishes the run on 21 June from trials on this larger number reached in the following days. The 2¹⁸ test found its highest proper factor, 131,072, in about 52 minutes. Its duration demonstrated that the memory could sustain a lengthy calculation, beyond a brief demonstration.
The aim was not to discover an unknown mathematical result. A predictable answer made it possible to check the computer. Much like testing a scientific instrument against a known measurement, the value lay in the confidence the test gave in its operation.
The program was entered manually, and results were inspected on a cathode-ray display. Very limited memory and input/output facilities made Baby unsuitable as a computing service for a broad user community. In their September 1948 letter to Nature, Williams and Kilburn themselves described the machine as experimental and too small to be a useful mathematical tool.
From Baby to Manchester Mark 1 and Ferranti
Baby’s success led towards a more complete university computer, the Manchester Mark 1. Development during 1949 brought larger memory, a magnetic drum, paper-tape input/output and more extensive calculating facilities. A memory demonstrator thus became the starting point for a different scale of use.
By April 1949, an intermediate version was available for scientific work by other university departments, before EDSAC’s first programs. It still lacked paper-tape input/output and required manual drum transfers, however: its operation differed from the scientific service gradually organised around EDSAC.
The Ferranti Mark 1 belonged to the next, industrial stage. Developed from the university work with contributions from Manchester and Ferranti staff, it was delivered to the university in February 1951.
The three names therefore refer to distinct stages: Baby, the 1948 demonstrator; Manchester Mark 1, the university machine developed in 1949; and Ferranti Mark 1, the commercial machine delivered in 1951. Calling them all simply “Mark 1” hides important differences.
EDSAC: designed to help researchers
At Cambridge, Maurice Wilkes led the Mathematical Laboratory with a service in mind: providing scientists across the university with computing facilities. He studied the EDVAC work and attended the Moore School lectures in 1946. EDSAC grew out of this exchange of knowledge; it was not merely a copy of an already completed computer.
EDSAC, the Electronic Delay Storage Automatic Calculator, favoured established design choices over the pursuit of maximum performance. Chief engineer William “Bill” Renwick led construction. David Wheeler made major contributions to programming methods. Technicians and other laboratory staff made assembly, testing and subsequent day-to-day operation possible.
On 6 May 1949, EDSAC successfully ran its first programs, including a table of squares. Programs could be entered on paper tape, and a teleprinter produced readable results. These facilities were central to its usefulness: a scientific computer had to accept work and return something more accessible than electrical states interpreted by its builders.
Mercury delay-line memory
EDSAC stored information in mercury delay lines. At one end of a tank, a transducer converted electrical pulses into acoustic waves. At the other, another transducer converted them back into electrical signals. The pulses were reshaped and fed back to the input, keeping information circulating while the system maintained it.
The storage principle depended on sound travelling through the liquid. Electronic valves performed calculation and control functions; they were not the mercury tanks. These were two different kinds of component.
This storage imposed a timing constraint: accessing information meant waiting for it to reach the readout point. Manchester’s cathode-ray storage used a different access method. Both technologies needed to maintain the stored information, but they retrieved it differently.
EDSAC’s capacity must be stated with both word format and machine configuration in mind. Cambridge describes a complete memory of 32 delay lines, holding 512 long numbers of 35 bits or 1,024 short locations of 17 bits. These are two ways of counting the same capacity, not an expansion. Usable capacity also grew as banks of delay lines entered service.
Programming, reuse and a computing service
Loading instructions and building a library
Paper tape alone does not make a computer a stored-program machine: many kinds of equipment used it. On EDSAC, tape supplied the program elements that were placed in memory before execution. A small startup program, the initial orders, began the loading process. An electromechanical device entered those initial instructions into memory at startup; they then loaded the program supplied on tape. This hardware bootstrap did not contradict the stored-program principle.
Program preparation developed around reusable subroutines, to which Wheeler made a decisive contribution. A common operation could be prepared, tested and kept on tape for use in different calculations. This required a way to transfer execution to the routine and then return to the calling program.
Imagine a scientific calculation that repeats the same approximation for many input values. Reusing a checked routine avoids rewriting that part for every job, although its conventions must still be followed and its results checked. Programming becomes a collaborative activity: a calculation also depends on work handed down by other people.
In 1951, Wilkes, Wheeler and Stanley Gill published The Preparation of Programs for an Electronic Digital Computer, covering EDSAC and the use of a subroutine library. The book records methods taking shape around the computer, rather than a programming environment in today’s sense.
From a first result to organised operation
One successful program was not enough to establish a regular service. The chronology written by Wheeler and supplemented by David Hartley dates the formalisation of the service to 1950, with operators running programs. Reliability and the organisation of users’ work continued to develop after May 1949.
Preparing and comparing tapes, accepting library routines and diagnosing failures were all part of laboratory work. Eric Mutch helped maintain the library’s standards, while Gill developed numerical routines. EDSAC depended on people and working practices as well as hardware.
The work supported included genetics, crystallography and other numerical research. The gain went beyond speeding up a single operation: scientific teams could attempt series of calculations that would have been far more laborious with tables and desk calculators.
Comparing achievements without creating a league table
| Criterion |
Manchester Baby |
EDSAC |
| First successful operation |
21 June 1948 |
6 May 1949 |
| Initial purpose |
Test electronic memory in a computer running a program |
Provide scientific computing facilities for Cambridge researchers |
| Main memory |
Regenerated charge patterns on a cathode-ray tube screen |
Acoustic pulses circulating in mercury delay lines |
| Program |
Instructions and numbers in a small writable memory |
Instructions loaded from tape and held in memory |
| Preparation and access |
Manual loading and inspection on a display |
Paper tape, initial-orders loading and teleprinter results |
| Meaning of the first success |
Experimental demonstration |
Start of a development towards a service, formalised in 1950 |
| Later developments |
Manchester Mark 1, then Ferranti Mark 1 |
Subroutine library, programming methods and scientific service |
The comparison with Colossus concerns a different distinction. Its electronics were specialised for cryptanalysis, configured through wiring and switches, without a general program in instruction memory. That specialisation suited its task; Baby did not replace Colossus.
For ENIAC, the date matters. Its original configuration arranged operations through hardware, but the 1948 conversion allowed it to read instructions encoded in banks of switches. This differed from Baby’s and EDSAC’s writable electronic memory. Simply saying that ENIAC “never had a stored program” would erase that development.
Baby’s priority is best specified in terms of executing a program from writable electronic memory; EDSAC’s significance includes scientific use and the service built around it. These criteria illuminate complementary achievements without handing either machine an unqualified title of “the world’s first computer”.
Frequently asked questions
Why is Baby famous if it was not intended for researchers?
It demonstrated that electronic memory could hold instructions and numbers throughout a real calculation. Limited input/output and a small memory reflected its experimental purpose. The demonstration enabled work towards a more complete computer.
Did EDSAC begin a regular service on 6 May 1949?
That date marks its first successful programs. Scientific uses followed, but reliability and service organisation developed gradually. The laboratory chronology places formalisation in 1950: first operation and an organised service are different milestones.
Were Williams tubes and delay lines permanent storage?
No. One maintained electrical charge patterns; the other circulated regenerated acoustic pulses. Both depended on their circuits continuing to operate. A “stored” program was not necessarily retained after the machine was switched off.
Is a program on paper tape always a stored program?
No. What matters is how the machine uses the tape. EDSAC loaded instructions into memory for execution. The input medium and working memory served different purposes; paper tape alone does not define the architecture.
Are Manchester Baby, Manchester Mark 1 and Ferranti Mark 1 the same computer?
No. Baby was the experimental prototype of 1948. Manchester Mark 1 was the more complete university machine developed in 1949. Ferranti Mark 1 was an industrial computer derived from that line, with a machine delivered to Manchester in February 1951.