Technology and Invention01/09/2026Curadoria de Inovação7 min readUpdated on 26/09/2026

Colossus or ENIAC: which was the first computer? Why the answer changes with the criterion

Colossus came before ENIAC, but it was not general-purpose. See how electronic, digital, programmable, general-purpose, and stored-program criteria change the answer.

Máquinas computacionais dos anos 1940 lado a lado: um sistema inspirado no Colossus com fita perfurada e outro no ENIAC com painéis e cabos.

Short answer: Colossus and ENIAC can both be called the “first computer” because the answer changes with the qualifiers. If the question is about the first electronic, digital, programmable computer, Colossus is the most defensible answer: it was already operating at Bletchley Park in early 1944. If the criterion adds general-purpose, ENIAC moves ahead: it was built to be reprogrammed for different types of calculation and was publicly unveiled in February 1946. If the requirement is a program stored in memory, neither wins; that milestone is associated with the Manchester “Baby,” which ran its first program on June 21, 1948.

That is why statements such as “ENIAC was the first computer” or “Colossus was the first computer” are incomplete when they do not explain the criterion. Computing history contains several “firsts” because electronic, digital, programmable, general-purpose, and stored-program describe different properties.

Why do Colossus and ENIAC get the same title?

Both machines were revolutionary, but they solved different problems and belong to different stages in the evolution of computing. The National Museum of Computing describes Colossus as the first electronic digital machine with programmability, although limited by modern standards. The University of Pennsylvania, while marking ENIAC’s 80th anniversary in 2026, describes it as the first programmable, electronic, general-purpose computer.

Those formulations do not have to contradict each other. The decisive term is “general-purpose.” Colossus was programmable within an architecture designed for cryptanalysis. ENIAC could be reconfigured for a much broader range of numerical problems. When a source shortens the description and drops those qualifiers, two historically compatible statements start to look mutually exclusive.

What Colossus was — and what it was not

Colossus was developed by British engineer Tommy Flowers to automate part of the analysis of German communications encrypted with the Lorenz system during World War II. According to The National Museum of Computing, Colossus Mk 1 reached Bletchley Park in late 1943/early 1944 and was working in early February 1944. The Computer History Museum likewise records 1944 as the year the first Colossus became operational.

It used electronic vacuum tubes, processed digital information, and could be configured to perform different logical tests connected with cryptanalysis. That supports the description “electronic, digital, and programmable.” But its programmability was limited, and the machine was not designed to solve arbitrary classes of computational problems. It was a highly specialized tool for attacking the Lorenz cipher.

Another detail helps explain why Colossus was absent from many older accounts of the computer’s origins: the project remained secret for decades. The National Museum of Computing notes that its existence was excluded from public hardware history for many years. Accounts written before declassification therefore gave more space to machines that were publicly known, such as ENIAC.

What ENIAC added

ENIAC (Electronic Numerical Integrator and Computer) began development in 1943 at the University of Pennsylvania’s Moore School of Electrical Engineering, led by J. Presper Eckert and John Mauchly for the U.S. Army. The Computer History Museum records its public unveiling in 1946; the University of Pennsylvania identifies February 14, 1946 as the date it was introduced to the world.

The essential difference is generality. Although ENIAC was initially conceived for ballistic calculations, it was not confined to one task. It could be reprogrammed for different numerical problems and perform conditional branching. In its original configuration, however, programming meant setting switches and connections between panels; the Computer History Museum describes panel-to-panel wiring and switches. So “programmable” here still does not mean “load a program into memory” in the way later computers did.

That is why the more precise description for ENIAC is “first general-purpose programmable electronic digital computer” — or, in formulations that leave “digital” implicit, “first programmable electronic general-purpose computer.” In 2026, Penn again used that qualification while celebrating the machine’s 80th anniversary.

The word “first” changes with the criterion

CriterionMost defensible answerWhyCaveat
Programmable, without requiring electronicsZ3 (1941) comes earlierKonrad Zuse’s Z3 used relays and executed programmed sequences.It was electromechanical, not electronic.
Electronic + digital + programmableColossus (1944)It combined electronic and digital processing with programmability.It was specialized and its programmability was limited.
Electronic + digital + programmable + general-purposeENIAC (1946)It could be reconfigured for different classes of numerical calculations.In its original form, it did not use the modern stored-program model.
Electronic + digital + stored programManchester “Baby” (1948)On June 21, 1948 it ran a program whose instructions were held in electronic memory.It was an experimental machine built mainly to test memory.
Stored program with practical computing serviceEDSAC (1949)The Computer History Museum describes it as the first practical stored-program computer to provide a regular computing service.This is a later, more operational criterion.

Other candidates also appear depending on the question. The Atanasoff-Berry Computer (ABC), completed in the early 1940s, was electronic and digital but not programmable. That shows why “electronic” alone does not settle the dispute either.

Programmable is not the same as stored-program

This is the distinction most often lost in simplified explanations. A machine is programmable when its behavior can be configured to execute different sequences or sets of operations. That does not, by itself, require the instructions to be held in the same electronic memory used for data.

In Colossus, punched tape carried the encrypted data and the processing logic was configured externally. In the original ENIAC, programming involved switches, function tables, and physical connections between units. In both cases, changing problems could require substantial manual intervention.

The stored-program concept changes that relationship: instructions are represented as information inside the computer’s memory and read by the machine itself. The Manchester “Baby” ran, on June 21, 1948, the first program on a digital electronic stored-program computer, according to the Computer History Museum. That architecture is much closer to the principle used by modern computers.

Where do Z3, ABC, and EDSAC fit?

They fit precisely because the question “what was the first computer?” mixes different technological lineages.

  • Z3: completed by Konrad Zuse in 1941, it was a programmable digital machine based on relays. If electronics are not a requirement, it predates Colossus and ENIAC. The Computer History Museum records the Z3 as a 2,300-relay machine that performed binary floating-point arithmetic.
  • ABC: the Atanasoff-Berry Computer was electronic and digital, but specialized in solving systems of equations and was not programmable. It matters to the history of electronic computing techniques, but it does not satisfy the full “electronic + digital + programmable” combination.
  • EDSAC: completed in 1949 at the University of Cambridge, it operated within the stored-program paradigm and is described by the Computer History Museum as the first practical stored-program computer to provide a regular computing service.

Why do current sources still disagree?

There are four main reasons. The first is definition: different sources choose different properties to decide what counts as a computer. The second is historical secrecy: Colossus remained outside public knowledge for decades. The third is editorial simplification: short headlines often omit phrases such as “general-purpose” or “stored-program.” The fourth is that computing did not emerge from a single isolated invention; several teams in different countries solved different parts of the problem within a few years.

So a list calling ENIAC the “first computer” may be implicitly using “general-purpose electronic.” Another placing Colossus first may be prioritizing “programmable electronic digital.” A third may begin with the Z3 or ABC because it selected a different combination of attributes.

So what wording is historically safest?

  • Colossus: “first programmable electronic digital computer,” with the caveat that it was specialized and had limited programmability.
  • ENIAC: “first general-purpose programmable electronic digital computer.”
  • Manchester Baby: “first digital electronic computer to execute a stored program.”

Those formulations avoid turning a dispute over definitions into a dispute over facts. Colossus came before ENIAC, but performed a narrow class of work. ENIAC came later and dramatically broadened the scope of programmable electronic computing. The Manchester Baby, in turn, introduced another decisive criterion: keeping instructions in memory itself.

Conclusion

If someone simply asks “Colossus or ENIAC: which was the first computer?”, the best answer is: it depends on what you mean by computer. Colossus has priority under the criterion “electronic, digital, and programmable”; ENIAC when “general-purpose” is added; and neither when the requirement is “stored-program.”

The apparent contradiction between sources, therefore, is not resolved by choosing one absolute winner. It is resolved by making explicit the qualifiers that many headlines leave out.

Sources and references

Topics in this articleColossuscomputadoresENIAChistória da computaçãotecnologia