Roma
Via della Vite 41, 00187
+39 06 772 50 136
+39 06 770 70 449
Rende
Rende (CS)
Corso Italia 215, 87036
ENIAC come funzionava

How the first computer in history really worked

When we talk about the “first computer in history,” it’s important to define our terms. We’re not referring to mechanical calculators like the Pascaline or Babbage’s Analytical Engine, but to an electronic, programmable, and digital machine capable of performing complex arithmetic and logical operations autonomously.

The first machine to meet these criteria was the ENIAC (Electronic Numerical Integrator and Computer), completed in 1945 in the United States. Developed at the University of Pennsylvania by John Mauchly and J. Presper Eckert, ENIAC wasn’t just an engineering marvel of its time — it marked the official birth of modern electronic computing.

Architecture and physical structure of the ENIAC

ENIAC was a giant in every sense. It weighed over 30 tons, covered around 170 square meters, and required about 150 kW of electrical power to run. Inside, it housed more than 17,000 vacuum tubes, which served as the binary logic backbone of the system.

There were no transistors or semiconductors yet: the vacuum tubes would turn on or off to represent logical 0s and 1s. This allowed ENIAC to perform operations far faster than mechanical devices, though its reliability was limited. Tubes burned out frequently, and constant maintenance was essential.

ENIAC did not use RAM or magnetic storage. It relied on electromechanical ring counters and circular registers to temporarily store decimal numbers, which were internally converted to binary only for processing purposes.

A decimal system in a binary world

One of ENIAC’s peculiarities was that, despite being a digital electronic machine, it operated using a decimal system, not binary. Internally, each decimal digit was represented using a chain of ten flip-flops, each corresponding to a digit from 0 to 9.

This hybrid approach was a result of both technological and cultural transition: the engineers were used to thinking in decimal, and attempted to replicate human numerical logic. It wasn’t until later generations of computers that systems shifted completely to binary, which is inherently more suitable for electronic processing.

Programming ENIAC: an engineering feat

Forget keyboards, screens, or high-level programming languages. Programming ENIAC meant physically rewiring its internal circuits. Every algorithm had to be translated into electrical connections between modules.

Programmers — often women, like the famous “ENIAC Girls” — had to manually plug in cables, set switches, and configure dials for each instruction. Changing a program could take days of work, even for small logic variations.

There was no real concept of stored programs. Each instruction was hard-wired, and execution followed a sequential path, though ENIAC did include rudimentary conditional logic (similar to today’s “if statements”) through circuit-based controls.

Revolutionary performance for its time

Despite its limitations, ENIAC was incredibly powerful for its era. It could perform around 5,000 additions or subtractions per second, roughly 357 multiplications per second, and 38 divisions per second. For 1945, these were exponentially faster than any existing device, making ENIAC critical for military applications like ballistic trajectory calculations.

To put this in perspective: calculations that took humans hours or days could be completed in seconds by ENIAC. Its speed transformed simulations that once took days into real-time calculations, launching the age of large-scale numerical automation.

Limitations and technological legacy

ENIAC was powerful, yet rigid. The lack of flexibility in its programming and its fragile hardware restricted its use. It lacked centralized memory and had no real programming language, making it unsuitable for broader computational problems.

However, its significance lies not in its longevity but in the fact that it paved the way for the von Neumann architecture, which still underpins modern computing. In fact, it was through a conceptual evolution of ENIAC that the first stored-program computers emerged, marking the transition to the general-purpose computer age.

The world’s first electronic computer was not a lab prototype — it was a fully functional machine, used for real-world tasks with measurable impact. If today we program in Python or C++, if we live in a world driven by software, we owe it partly to that massive labyrinth of vacuum tubes called ENIAC.

Understanding how this machine actually worked is more than just historical curiosity — it’s a way to appreciate the complexity and engineering courage of those who built computing from scratch. Every transistor in our devices is, in some way, a descendant of the tubes that in 1945 began writing the very first line of our digital story.