| Invention Name | Computer / Programmable Digital Computer |
|---|---|
| Short Definition | A machine that automatically processes data according to a sequence of instructions; modern computers can store executable instructions as well as data in electronic memory. |
| Approximate Date or Period | General-purpose programmable concept from 1834; working programmable and electronic computers developed mainly during the 1930s–1940s. |
| Geography | Britain, Germany and the United States, with partly independent development in several research groups. |
| Inventor or Source Culture | Attribution varies Charles Babbage, Ada Lovelace, Konrad Zuse, John Atanasoff, Clifford Berry, Tommy Flowers, J. Presper Eckert, John Mauchly, Frederic Williams, Tom Kilburn and others contributed different parts of the invention story. |
| Category | Computing, electronics, information processing and programmable machines |
| Importance | Combined automatic calculation, programmability, electronic switching, memory and stored instructions into the technological basis of modern computing. |
| Evidence Status | Confirmed machines Attribution varies Surviving machines, reconstructions, engineering records and archival documents are extensive, but the identity of the “first computer” changes with the technical definition used. |
| Main Problem Solved | Automating long sequences of mathematical and logical operations while allowing the machine to be adapted to different problems. |
| Development Path | Mechanical programmable design → program-controlled digital machine → electronic digital calculation → programmable electronics → general-purpose electronic computing → stored-program computing |
| System Principle | Represent data in machine-readable form, apply operations under program control, retain intermediate values in memory and produce results automatically. |
| Main Historical Debate | Whether “first computer” means the first design, first working programmable machine, first electronic digital machine, first general-purpose electronic machine or first stored-program computer. |
Why “Who Invented the Computer?” Has More Than One Correct Answer
No single machine introduced every feature associated with a modern computer. Charles Babbage designed a programmable general-purpose mechanical machine in the nineteenth century but never completed it. Konrad Zuse later built a working program-controlled digital computer using electromechanical relays. John Atanasoff and Clifford Berry developed electronic digital calculation for a specialized mathematical task. Tommy Flowers created an electronic programmable machine for cryptanalysis. J. Presper Eckert and John Mauchly built ENIAC as a general-purpose electronic computer, while the Manchester team demonstrated a machine that could retrieve its instructions directly from electronic memory.
All of these machines can therefore appear in accounts of the “first computer” without the claims necessarily contradicting one another. The deciding issue is the adjective placed before computer.
Computer historians commonly distinguish several properties:
- Digital: information is represented using discrete values rather than continuously varying physical quantities.
- Automatic: a sequence of operations can proceed without a person performing every individual calculation.
- Programmable: the machine can follow a specified sequence of operations rather than performing only one permanently fixed calculation.
- Electronic: electronic components perform the main logical or numerical operations instead of gears or electromechanical relays.
- General-purpose: the machine can be adapted to substantially different kinds of computation instead of being designed around one narrow problem.
- Stored-program: encoded instructions reside in machine-accessible memory rather than being supplied only through external wiring, switches, cards or tape.
The Computer History Museum has explicitly noted that early machines possessed different combinations of properties such as automatic operation, binary representation, electronics, general-purpose use and stored programming. That is why Babbage’s Analytical Engine, the Z3, the Atanasoff-Berry Computer, Colossus, ENIAC and the Manchester Baby can each occupy a different place in the invention story.
Charles Babbage Designed a Computer Before the Technology Could Build It
Charles Babbage’s earlier Difference Engine was intended to automate the production of mathematical tables. It was an extraordinary calculating machine, but its intended mathematical procedure was comparatively specialized. The idea Babbage began developing around 1834 was different.
His Analytical Engine was designed as a programmable calculating machine able to perform different sequences of operations. It included a store for holding numerical values and a separate mill where arithmetic processing would take place. Instructions and data could be supplied through punched cards. Babbage’s plans also allowed operation sequences to be repeated and decisions to affect the subsequent path through a calculation.
Those features make the Analytical Engine far closer conceptually to a computer than to a conventional nineteenth-century calculator. The separation between storage and processing is especially recognizable to a modern reader, although the analogy should not be pushed so far that the machine is described as having a modern electronic CPU or RAM. Its intended implementation was mechanical.
The surviving Babbage papers contain engineering drawings, program traces, mathematical notations and designs developed over decades. They show that the Analytical Engine was not merely a passing proposal. Yet the distinction between design and working machine remains essential. Only portions and trial mechanisms were constructed during Babbage’s lifetime. The full Analytical Engine was never completed.
Why the Analytical Engine Was Different from the Difference Engine
The Difference Engine automated a predetermined mathematical method for calculating tables. The Analytical Engine was intended to change operations according to instructions supplied to it. Babbage was therefore moving from an automatic calculator designed around a particular mathematical procedure toward a machine whose behavior could be altered by a program.
The Science Museum Group preserves punched cards associated with the Analytical Engine. The surviving material distinguishes cards used to specify operations from cards associated with variables and storage. Together with Babbage’s drawings and notations, these records provide direct physical and documentary evidence for the programmable character of the design.
Ada Lovelace’s Role Was Programming and Interpretation, Not Machine Design
Augusta Ada King, Countess of Lovelace, entered the story through her work on a description of the Analytical Engine written by the Italian engineer Luigi Federico Menabrea. In 1843 she published an English translation accompanied by a much larger set of notes of her own.
One of those notes contained a detailed procedure for calculating Bernoulli numbers with the Analytical Engine. It is widely described as the first published computer program or the earliest published algorithm intended for execution by a general-purpose computing machine. Earlier traces of operations also survive among Babbage’s papers, so Lovelace’s historical role is better described with precision than by assuming that no one had ever written a machine procedure before her.
Her broader interpretation was just as noteworthy. Lovelace understood that a machine operating according to formal rules could potentially manipulate representations other than ordinary numerical quantities, provided those representations could be expressed in a form the machine could process. That insight looked beyond calculation toward the wider idea of programmable information processing.
Babbage designed the Analytical Engine. Lovelace helped explain how such a machine could be programmed and explored what programmable computation might mean. Those are related but different contributions.
Konrad Zuse’s Z3 Turned Programmable Digital Computing into a Working Machine
More than a century after Babbage began designing the Analytical Engine, German civil engineer Konrad Zuse developed a series of machines intended to relieve engineers of repetitive numerical calculation.
His Z3 became operational in 1941. It used roughly 2,300 electromechanical relays, represented numbers in binary form, performed floating-point arithmetic and read its program from punched film. The machine used a 22-bit word and could automatically execute a sequence of numerical operations.
The Deutsches Museum describes the Z3 as the world’s first programmable binary computer and as the first fully functional freely programmable calculating machine. The Computer History Museum describes it as the first program-controlled electromechanical digital computer.
That claim does not make the Z3 an electronic stored-program computer. Its logical and arithmetic operations depended on relays rather than vacuum-tube electronic circuits, and its instructions were supplied externally rather than stored in the machine’s working memory. The distinction matters because later machines would remove both limitations.
The original Z3 was destroyed during the war. Zuse later supervised a reconstruction, allowing the machine’s operation to be demonstrated and preserved in museum form.
The Atanasoff-Berry Computer Introduced Electronic Digital Calculation Without General-Purpose Programming
While Zuse was developing relay computers in Germany, physicist John Vincent Atanasoff and graduate student Clifford Berry were working at Iowa State College on a very different machine.
The Atanasoff-Berry Computer, usually called the ABC, was developed between 1939 and 1942 to solve systems of simultaneous linear equations. It used binary representation, electronic circuitry for arithmetic and a form of regenerative memory. These were important steps toward electronic digital computing.
The ABC was not, however, a general-purpose programmable computer. Its architecture was created for a defined mathematical problem and it could not be supplied with arbitrary programs in the sense associated with the Z3, ENIAC or later stored-program computers.
This distinction explains why the ABC can be described as an early electronic digital computer while another machine still receives the title of first programmable computer or first general-purpose electronic computer.
The legal case is especially important because John Mauchly had visited Atanasoff in Iowa in June 1941, observed the ABC and discussed its design with Atanasoff and Berry. The trial examined those contacts in detail. The resulting ruling changed the patent history attached to ENIAC, while the technical differences between the ABC and ENIAC remained.
Colossus Brought Programmable Electronic Computing into Operation
Electronic computation took another path in wartime Britain. The German Lorenz cipher carried high-level military communications, and British cryptanalysts needed machinery capable of testing statistical and logical relationships much faster than existing systems.
Engineer Tommy Flowers and his colleagues at the Post Office Research Station at Dollis Hill developed Colossus for this work. The first Colossus reached Bletchley Park in January 1944. Later Colossus machines used thousands of vacuum tubes and processed data from high-speed punched paper tape.
Bletchley Park describes Colossus as the world’s first programmable digital computer, while computer-history accounts commonly refine the description to the first programmable electronic digital computer. Its logical behavior could be configured with switches and plugboards, and its calculations occurred electronically.
Colossus was nevertheless designed around cryptanalytic work on Lorenz traffic. It was not a general-purpose computer intended to be reconfigured for arbitrary scientific, commercial or engineering applications. Its existence also remained secret long after the war, limiting its direct influence on the public development of postwar computer engineering.
Alan Turing Did Not Design Colossus
Alan Turing belongs in the history of computer invention, but his contributions should not be merged with those of Tommy Flowers.
In his 1936 work on computability, Turing described an abstract machine capable of following symbol-manipulation rules and developed the idea of a universal machine that could emulate other computational procedures when supplied with the appropriate instructions. This became one of the theoretical foundations of computer science.
Related articles: Laptop Invention: Who Invented the First Portable Computer?
During the Second World War, Turing also played a major role in British codebreaking and in the development of methods associated with the electromechanical Bombe used against Enigma. The Computer History Museum attributes the conception of the British Bombe to Turing and engineer Harold Keen, building on earlier Polish cryptanalytic work.
Colossus was a different project. It was designed under Tommy Flowers at Dollis Hill for work associated with the Lorenz cipher. Turing’s theoretical influence on computing is immense, but describing him as the inventor of Colossus collapses separate wartime projects into one story.
ENIAC Made General-Purpose Electronic Computing Practical
In the United States, the U.S. Army funded a new machine at the University of Pennsylvania’s Moore School of Electrical Engineering to accelerate demanding numerical calculations. Engineers J. Presper Eckert and John Mauchly led the design of the Electronic Numerical Integrator and Computer, or ENIAC.
Work began in 1943. ENIAC was operational by the end of 1945 and publicly unveiled in February 1946. It used about 18,000 vacuum tubes, occupied a large room and weighed about 30 tons. Its electronic circuits allowed it to perform thousands of operations per second; Penn records a rate of about 5,000 additions per second.
Unlike the ABC and Colossus, ENIAC could be configured for a wide range of numerical problems. That is why the University of Pennsylvania describes it as the first programmable, electronic, general-purpose computer. Penn retained that wording in its 2026 material marking ENIAC’s 80th anniversary.
ENIAC still differed sharply from a modern computer in one area: its original program was not kept in the same electronic memory used during calculation. Preparing a new problem required programmers to configure switches and connect cables between functional units. The machine was programmable, but programming initially involved physical reconfiguration.
The ENIAC Programmers Turned Mathematical Procedures into Machine Operations
The task of programming ENIAC was assigned to women who had previously worked as human “computers,” calculating ballistic trajectories for the U.S. Army.
The six programmers now most closely associated with the machine were Kathleen McNulty Mauchly Antonelli, Jean Jennings Bartik, Frances “Betty” Snyder Holberton, Marlyn Wescoff Meltzer, Frances Bilas Spence and Ruth Lichterman Teitelbaum.
There was no established programming language for ENIAC. The programmers studied diagrams of the machine, broke mathematical procedures into sequences that its units could execute, determined how information should move between accumulators and other components, configured switches and established the cable connections required for each computation.
Their work did not make them the hardware inventors of ENIAC, but neither was programming a minor clerical task. The flexibility that made ENIAC a general-purpose computing system depended on translating mathematical methods into executable machine configurations.
The Stored-Program Idea Removed the Need to Rewire the Computer
ENIAC exposed a problem that would shape the next stage of computing. Electronic arithmetic could be extremely fast, yet preparing the machine for a new problem could require substantial manual reconfiguration.
Eckert and Mauchly were already considering ways to improve the design while work on ENIAC continued. Their successor project, EDVAC, was planned around binary operation and a large memory in which encoded instructions could be treated in machine-readable form.
Mathematician John von Neumann, who had become involved with the Moore School group, described the emerging design in the 1945 document First Draft of a Report on the EDVAC. Because the report circulated widely under von Neumann’s name, stored-program computer design became strongly associated with him and eventually with the term von Neumann architecture.
The historical credit is broader than that label suggests. The EDVAC concepts arose from work and discussion involving Eckert, Mauchly, von Neumann and other members of the project. Computer historians have therefore distinguished the widespread influence of von Neumann’s report from the question of who originated every element of the design.
The central change was profound: instead of treating the program mainly as an external physical configuration, the machine could represent instructions numerically and obtain them from memory during operation. Programs could then be loaded, changed and executed through the machine’s information system.
The Manchester Baby Proved That a Program Could Run from Electronic Memory
The first machine to demonstrate this principle with an electronic stored program was built at the University of Manchester.
The Small-Scale Experimental Machine, better known as the Manchester Baby, grew from research by Frederic C. Williams and Tom Kilburn into cathode-ray-tube memory. Geoff Tootill assisted Kilburn during construction of the experimental computer.
On June 21, 1948, the Baby successfully executed a program written by Kilburn and stored in its electronic memory. The program searched for the highest factor of a number. The achievement demonstrated that instructions could be represented in memory, retrieved electronically and executed automatically.
The University of Manchester describes the Baby as the world’s first stored-program electronic digital computer. It was deliberately a small experimental system rather than a full computing service. Its job was to prove that the memory and stored-program approach worked.
EDSAC Turned Stored Programming into a Regular Computing Service
At the University of Cambridge, Maurice Wilkes led development of EDSAC, the Electronic Delay Storage Automatic Calculator. It became operational in 1949.
EDSAC used vacuum tubes for logic and mercury delay lines for memory. More important historically, it was built as a practical computer for researchers rather than primarily as an experimental demonstration of memory technology. The Computer History Museum describes it as the first practical stored-program computer to provide a regular computing service.
The sequence from ENIAC to EDVAC concepts, the Manchester Baby and EDSAC shows why no single date neatly marks the birth of the modern computer. Electronic calculation, general-purpose reprogrammability, stored instructions and routine service appeared in related but separate steps.
Which Machine Was Actually the First Computer?
The strongest historical answer depends on what is being counted. Comparing the machines by their technical properties makes the disagreement much easier to understand.
| Machine | Date | Program Control | Electronic | General-Purpose | Stored Program | Best-Supported Historical Claim |
|---|---|---|---|---|---|---|
| Analytical Engine | Designed from 1834 | Designed to use punched cards | No; mechanical | Designed to be | No | First major design for a programmable general-purpose computing machine |
| Z3 | 1941 | Yes, program on punched film | No; electromechanical relays | Capable of varied numerical calculation, with control limitations | No | First fully functional programmable binary / program-controlled electromechanical digital computer |
| Atanasoff-Berry Computer | 1939–1942 | No general program mechanism | Yes | No | No | Early electronic digital computer using binary arithmetic and regenerative memory |
| Colossus | 1944 | Yes, through switches and plugboards | Yes | No; built for cryptanalysis | No | First programmable electronic digital computer under the special-purpose definition |
| ENIAC | 1945–1946 | Yes; initially configured with cables and switches | Yes | Yes | Not in its original configuration; modified in 1948 | First general-purpose programmable electronic computer |
| Manchester Baby | 1948 | Yes | Yes | Experimental rather than a regular service machine | Yes, in electronic memory | First stored-program electronic digital computer |
| EDSAC | 1949 | Yes | Yes | Yes | Yes | First practical stored-program computer to provide a regular computing service |
The table also explains why institutional descriptions can appear inconsistent. The Deutsches Museum can identify the Z3 as the first programmable binary computer while the University of Pennsylvania identifies ENIAC as the first general-purpose programmable electronic computer and Manchester identifies the Baby as the first stored-program electronic digital computer. Each description selects a different combination of technical properties.
Four Common Claims That Need More Precise Wording
“Charles Babbage Built the First Computer”
Babbage designed an extraordinarily advanced programmable general-purpose mechanical computer, but a complete Analytical Engine was not built during his lifetime. Calling him the inventor of the computer is defensible when the question concerns the concept and design of a general-purpose programmable computing machine. It is inaccurate if “invented” is intended to mean that he completed the first working computer.
“Ada Lovelace Invented the Computer”
Lovelace did not design the Analytical Engine. Her work concerned programming, mathematical explanation and interpretation of what such a machine could do. Her 1843 notes contain the famous Bernoulli-number procedure and an unusually early discussion of computation beyond straightforward numerical calculation.
“The 1973 Court Decision Proved That Atanasoff Alone Invented the Computer”
The Honeywell v. Sperry Rand ruling was about the ENIAC patent and the origin of claimed electronic digital computing ideas. It established an important place for Atanasoff’s earlier work and invalidated the ENIAC patent. It did not establish the ABC as a programmable general-purpose stored-program computer, and it did not erase the separate contributions of Zuse, Flowers, Eckert, Mauchly or the Manchester group.
“ENIAC Was Simply the First Computer”
ENIAC has one of the strongest claims in computer history, but the wording needs its technical qualifiers. Earlier programmable, digital or electronic machines already existed. ENIAC’s distinctive position comes from combining electronic operation, programmability and general-purpose numerical computation in a working large-scale machine.
What the Modern Computer Inherited from These Earlier Machines
A modern laptop bears little physical resemblance to Babbage’s gears, Zuse’s relay cabinets, Colossus’s vacuum-tube racks or ENIAC’s room-sized panels. The conceptual lineage is easier to see when the machines are compared by function.
- Programmable general-purpose operation: Babbage’s Analytical Engine established an early mechanical design in which the sequence of operations could change according to supplied instructions.
- Separation of processing and storage: Babbage’s mill and store anticipated the useful distinction between computation and retained values, though later electronic architectures developed independently and in very different physical forms.
- Machine-readable programs: punched cards, punched film, switches and plugboards showed several ways instructions could control a machine before programs moved into electronic memory.
- Binary digital calculation: Zuse and the ABC demonstrated powerful uses of binary representation in early digital machines.
- Electronic switching: the ABC, Colossus and ENIAC showed that electronic circuits could perform operations far faster than mechanical or relay systems.
- General-purpose electronic computation: ENIAC demonstrated that a large electronic machine could be reconfigured for substantially different numerical problems.
- Instructions represented as information: EDVAC-era design work and the Manchester Baby established the path toward computers that obtain encoded instructions from memory.
- Routine stored-program computing: machines such as EDSAC moved the stored-program approach from experimental proof into regular scientific use.
Modern computers combine these properties so completely that it is easy to treat them as one invention. Historically, they arrived separately. The programmable computer was conceived before an electronic computer existed. Electronic digital calculation appeared before general-purpose electronic programming. General-purpose electronic computing operated before the stored program became standard.
For that reason, Charles Babbage is commonly associated with the invention of the programmable general-purpose computer concept, Konrad Zuse with the first working programmable binary computer, Atanasoff and Berry with early electronic digital calculation, Tommy Flowers with programmable electronic computing, Eckert and Mauchly with the general-purpose electronic computer, and the Manchester team with the first successful electronic stored-program computer. The invention of the computer is best understood as this sequence of documented technical achievements rather than as a single moment belonging to one person.
Sources and Verification
- The Engines — Computer History Museum — Documents the Analytical Engine as a general-purpose programmable design and describes its punched-card control, store and mill.
- Charles Babbage — Science Museum Group Collection — Verifies Babbage’s work on the Difference Engine and Analytical Engine, including storage, programmability and the fact that the complete Analytical Engine was not finished during his lifetime.
- Punched Cards for Babbage’s Analytical Engine — Science Museum Group Collection — Preserves surviving operation and variable cards and explains their role in supplying instructions and data to the proposed machine.
- Celebrating the 200th Anniversary of Computer Visionary Ada Lovelace — Bodleian Libraries, University of Oxford — Verifies Lovelace’s 1843 work on the Analytical Engine and the documented Bernoulli-number program.
- Computers – the History of the Calculating Machine — Deutsches Museum — Identifies the Z3 as the world’s first programmable binary computer and describes the transition from electromechanical to electronic computing.
- Atanasoff-Berry Computer — Computer History Museum — Verifies the ABC’s electronic equation-solving role and the important limitation that it was not programmable.
- Atanasoff-Berry Computer Court Case — Iowa State University — Provides the history of Honeywell v. Sperry Rand, Mauchly’s visit to Iowa and the findings issued in the 1973 ENIAC patent decision.
- Bletchley Park Computing / AI Timeline — Bletchley Park Trust — Records the January 1944 delivery of Colossus and Bletchley Park’s classification of it as the world’s first programmable digital computer.
- Breaking the Code — Computer History Museum — Verifies Tommy Flowers’s Colossus as an electronic codebreaking computer developed for Lorenz cryptanalysis.
- The Neverending Quest for “Firsts” — Computer History Museum — Examines why definitions such as digital, electronic, programmable, general-purpose and stored-program produce different answers to the first-computer question.
- Penn’s ENIAC, the World’s First Electronic Computer, Turns 80 — University of Pennsylvania Almanac — Penn’s 2026 account verifies ENIAC’s general-purpose electronic programmability, its original programming method and the work of its six women programmers.
- Making the Case — Computer History Museum — Documents the ENIAC-to-EDVAC transition and the development and dissemination of the stored-program approach.
- The Manchester Small Scale Experimental Machine — “The Baby” — University of Manchester — Verifies the successful stored-program run of June 21, 1948 and the roles of Williams, Kilburn and Tootill.
- 1949 Timeline of Computer History — Computer History Museum — Documents EDSAC as the first practical stored-program computer to provide a regular computing service.

