Eniac was indeed impressive and an important milestone. I recommend the 1999 book "ENIAC - The triumphs and tragedies of the world's first computer" by Scott McCartney which is both interesting to read and very informative. Also the review of the book by the late Jean Bartik, one of the "computers" and thus an eyewitnmess, is very interesting: https://web.archive.org/web/20221101120020/https://www.amazo....
Though the article is very US focussed, keeping quiet that German engineer Konrad Zuse completed the Z3 in May 1941, five years before ENIAC, effectively creating the world's first working programmable and fully automatic digital computer. While ENIAC required days of manual cable patching to program, the Z3 was quickly programmed by a punched tape ("Lochstreifen"), and Zuse also has invented Plankalkül between 1942 and 1945, which is widely recognized as the world's first high-level programming language. The cooperation between Zuse and ETH Zurich eventually led to the first self-compiling compiler and eventually Algol 60 (see "The European Side of the Last Phase of the Development of ALGOL 60" by Peter Naur in ACM SIGPLAN "History of Programming Languages" from 1978). And there was also the British Colossus, which was also a "programmable computer" and successfully utilized vacuum tubes for code-breaking by early 1944.
The Z3 was only general purpose by accident, and this was only discovered in 1997 (published 1998). [0] It's only of theoretical interest because the technique required is too inefficient for real-world applications.
ENIAC is notable because it was the first intentionally general purpose computer to be built.
I do not think that it is right at all to say "intentionally general purpose computer".
ENIAC was built for a special purpose, the computation of artillery tables.
It was a bespoke computer built for a single customer: the United States Army's Ballistic Research Laboratory.
This is why it has been designed as the digital electronic equivalent of the analog mechanical computers that were previously used by the Army and why it does not resemble at all what is now meant by "general-purpose computer".
The computers of Aiken and Zuse were really intentionally general-purpose, their designers did not have in mind any specific computation, which is why they were controlled by a program memory, not by a wiring diagram.
What you claim about Z3 being general purpose by accident does not refer to the intention of its designer, but only to the fact that its instruction set was actually powerful enough by accident, because at that early time it was not understood which kinds of instructions are necessary for completeness.
All the claims made now about ENIAC being general-purpose are retroactive. Only after the war ended and the concept of a digital computer became well understood, the ENIAC was repurposed to also do other tasks than originally planned.
The first truly general-purpose electronic digital computers that were intentionally designed to be so were those designed based on the von Neumann report.
Before the completion of the first of those, there were general-purpose hybrid electronic-electromechanical digital computers, IBM SSEC being the most important of them, which solved a lot of scientific and technical problems, before electronic computers became available.
Still feels like history written by the victors (of WW2 and computing, eventually) in this case. If you want to be mathematically precise, it's been proven to be Turing-complete. If you want to use common sense (IMO better), it was one of the most significant leaps in automated computation and simply didn't need to do more for its intended applications. For conditional branches to make sense, you also need a fast temporary storage array (since it would be awfully slow running directly off tape like a Turing machine), and to realize that all that effort makes sense, you first need to play with a computer for a while and discover the new possibilities.
What the article says is different: "the first large-scale, general-purpose, programmable electronic digital computer".
The claim of the article can be considered correct, and "electronic" is a part that cannot be deleted from it without falsifying the claim.
Before ENIAC, there have been digital computers that were much more general-purpose, because they run programs written on punched tape, instead of requiring a rewiring like ENIAC.
ENIAC, which evolved from the analog computers known as differential analyzers, had a structure closer to an FPGA than to a modern digital computer.
In contrast, an earlier relay computer like Harvard Mark I was intended as a successor of the mechanical digital computer designed by Charles Babbage, so it already had the same structure with a modern digital computer, except that it used different kind of memories for data and for programs, hence the name "Harvard architecture". The same was true for the Zuse computer.
The earlier ABC digital computer was electronic, but it can be considered as special-purpose, not general-purpose. The first relay computers at Bell Labs may also be considered as special purpose.
For ENIAC it also does not make sense to claim that it was Turing complete. Such a claim can be made for a computer controlled by a program memory, where you have a defined instruction set. If you may rewire arbitrarily the execution units, any computer is Turing complete.
The earlier ABC electronic computer was built for a special purpose, the solution of systems of linear algebraic equations, like ENIAC was built only for a special purpose, the computation of artillery tables.
By rewiring the ABC electronic computer you could have also computed anything, so you can say that it was Turing complete, if rewiring is allowed.
The only difference is that rewiring was simpler in ENIAC, because it had been planned to be easy, so there were special panels where you could alter the connections.
ENIAC was very important but this article overstates its significance and ignores other (non US) machines to the point of historical inaccuracy. No mention of Z3 or Manchester Baby for example, the latter based on the von Neumann paper for example, was arguably a more accurate pointer towards how computer architecture would develop.
> The computer contained about 18,000 vacuum tubes, which were cooled by 80 air blowers. More than 30 meters long, it filled a 9 m by 15 m room and weighed about 30 kilograms. It consumed as much electricity as a small town.
I still remember the CRT TV we had at home when I was kid. It was big but almost empty.
Vacuum tubes break too often. Once per year? But if you have a thousand of them you have to change one very often. So I guess they have a lot of space for humans repairing it.
Though the article is very US focussed, keeping quiet that German engineer Konrad Zuse completed the Z3 in May 1941, five years before ENIAC, effectively creating the world's first working programmable and fully automatic digital computer. While ENIAC required days of manual cable patching to program, the Z3 was quickly programmed by a punched tape ("Lochstreifen"), and Zuse also has invented Plankalkül between 1942 and 1945, which is widely recognized as the world's first high-level programming language. The cooperation between Zuse and ETH Zurich eventually led to the first self-compiling compiler and eventually Algol 60 (see "The European Side of the Last Phase of the Development of ALGOL 60" by Peter Naur in ACM SIGPLAN "History of Programming Languages" from 1978). And there was also the British Colossus, which was also a "programmable computer" and successfully utilized vacuum tubes for code-breaking by early 1944.
ENIAC is notable because it was the first intentionally general purpose computer to be built.
[0] https://www.inf.fu-berlin.de/inst/ag-ki/rojas_home/documents...
ENIAC was built for a special purpose, the computation of artillery tables.
It was a bespoke computer built for a single customer: the United States Army's Ballistic Research Laboratory.
This is why it has been designed as the digital electronic equivalent of the analog mechanical computers that were previously used by the Army and why it does not resemble at all what is now meant by "general-purpose computer".
The computers of Aiken and Zuse were really intentionally general-purpose, their designers did not have in mind any specific computation, which is why they were controlled by a program memory, not by a wiring diagram.
What you claim about Z3 being general purpose by accident does not refer to the intention of its designer, but only to the fact that its instruction set was actually powerful enough by accident, because at that early time it was not understood which kinds of instructions are necessary for completeness.
All the claims made now about ENIAC being general-purpose are retroactive. Only after the war ended and the concept of a digital computer became well understood, the ENIAC was repurposed to also do other tasks than originally planned.
The first truly general-purpose electronic digital computers that were intentionally designed to be so were those designed based on the von Neumann report.
Before the completion of the first of those, there were general-purpose hybrid electronic-electromechanical digital computers, IBM SSEC being the most important of them, which solved a lot of scientific and technical problems, before electronic computers became available.
What the article says is different: "the first large-scale, general-purpose, programmable electronic digital computer".
The claim of the article can be considered correct, and "electronic" is a part that cannot be deleted from it without falsifying the claim.
Before ENIAC, there have been digital computers that were much more general-purpose, because they run programs written on punched tape, instead of requiring a rewiring like ENIAC.
ENIAC, which evolved from the analog computers known as differential analyzers, had a structure closer to an FPGA than to a modern digital computer.
In contrast, an earlier relay computer like Harvard Mark I was intended as a successor of the mechanical digital computer designed by Charles Babbage, so it already had the same structure with a modern digital computer, except that it used different kind of memories for data and for programs, hence the name "Harvard architecture". The same was true for the Zuse computer.
The earlier ABC digital computer was electronic, but it can be considered as special-purpose, not general-purpose. The first relay computers at Bell Labs may also be considered as special purpose.
The earlier relay computers were Turing complete.
For ENIAC it also does not make sense to claim that it was Turing complete. Such a claim can be made for a computer controlled by a program memory, where you have a defined instruction set. If you may rewire arbitrarily the execution units, any computer is Turing complete.
The earlier ABC electronic computer was built for a special purpose, the solution of systems of linear algebraic equations, like ENIAC was built only for a special purpose, the computation of artillery tables.
By rewiring the ABC electronic computer you could have also computed anything, so you can say that it was Turing complete, if rewiring is allowed.
The only difference is that rewiring was simpler in ENIAC, because it had been planned to be easy, so there were special panels where you could alter the connections.
Surprisingly light though...
Vacuum tubes break too often. Once per year? But if you have a thousand of them you have to change one very often. So I guess they have a lot of space for humans repairing it.