I attended a conference once where the invited speaker, Raul Rojas, showed that the Z3 was a universal computer, which wasn't previously believed to be the case. The basic idea of the proof was to show that you could have a single while-loop on the Z3 containing a big case-statement in the body of the loop which basically simulates a (finite) Turing machine.
The interesting part of this talk however was this: the Z3 did support neither loops nor conditional branches per se! Instead, it could just compute a series of mathematical operations encoded on a punched tape.
To simulate the case statement without the conditional branching, the trick you do is you execute every branch of the case-statement each time, but you only allow one of the branches to write the results of its computation back to the machine's memory.
But how do you get a while-loop? Well, you just glue the ends of the punch tape together! ;-)
"The Z1 was a mechanical computer designed by Konrad Zuse from 1935 to 1936 and built by him from 1936 to 1938."
and
"The Atanasoff–Berry Computer (ABC) was...conceived in 1937, the machine was not programmable, being designed only to solve systems of linear equations. It was successfully tested in 1942."
MIT press has an excellent book, "The First Computers- History and Architectures"[1] that discusses a number of potential "firsts" based on varying criteria- well worth a read, if you're into this sort of thing. I'd agree that the Z1 was the first complete, working machine that I consider a computer.
For the other side of this, read "ENIAC: The Triumphs & Tragedies of the World's First Computer" by Scott McCartney. The work Eckert and Mauchly put in to get the first electronic, general purpose computer in a state that it was useful to others should be interesting to anyone who reads HN. It's both a story of hackers and entrepreneurs.
I take issue with this characterization: "Mauchly was not a better scientist than Atanasoff, but he was a more ambitious entrepreneur."
Mauchly did something Atanasoff did not: he made something useful. So useful, in fact, every digital computer you see in front of you is a direct descendant of Mauchly's labor, not Atanasoff. Eckert and Mauchly drew inspiration and ideas from many places, but I think people here should be able to sympathize with the fact that these two were the leaders behind the project that made those ideas a useful technology that changed the world. While those ideas existed before Eckert and Mauchly did their work, they're the ones who put in the grunt work to fully realize them - and contribute their own innovations along the way.
I actually find the portrayal of Eckert and Mauchly in the whole piece real disheartening.
>> So useful, in fact, every digital computer you see in front of you is a direct descendant of Mauchly's labor, not Atanasoff.
This doesn't make any sense. Atanasoff had some pretty genius ideas and together with Berry built the first electronic digital computer. Mauchly visited their lab, got a ton of information on ABC and later built another electronic digital computer - ENIAC, which was generally ABC 2.0.
Yes, it's very much a matter of perspective, which is why I find it so fascinating. Babbage is clearly a candidate, as is Konrad Zuse [1], who built the first functional Turing-complete machine, and designed the first Turing-complete programming language [2] (it didn't have recursion, but neither had FORTRAN, before the mid-70s). Bottom line (for me): computers are the result of international and cross-generational cooperation and knowledge exchange; that's were progress seems to come from.
[+] [-] rmoriz|15 years ago|reply
see http://en.wikipedia.org/wiki/Computer
[+] [-] kleiba|15 years ago|reply
The interesting part of this talk however was this: the Z3 did support neither loops nor conditional branches per se! Instead, it could just compute a series of mathematical operations encoded on a punched tape.
To simulate the case statement without the conditional branching, the trick you do is you execute every branch of the case-statement each time, but you only allow one of the branches to write the results of its computation back to the machine's memory.
But how do you get a while-loop? Well, you just glue the ends of the punch tape together! ;-)
(More details here: http://www.zib.de/zuse/Inhalt/Kommentare/Html/0684/universal...)
[+] [-] davidmathers|15 years ago|reply
"The Z1 was a mechanical computer designed by Konrad Zuse from 1935 to 1936 and built by him from 1936 to 1938."
and
"The Atanasoff–Berry Computer (ABC) was...conceived in 1937, the machine was not programmable, being designed only to solve systems of linear equations. It was successfully tested in 1942."
[+] [-] arethuza|15 years ago|reply
http://en.wikipedia.org/wiki/Small-Scale_Experimental_Machin...
[+] [-] RodgerTheGreat|15 years ago|reply
[1]http://www.amazon.com/First-Computers--History-Architectures...
[+] [-] scott_s|15 years ago|reply
[+] [-] scott_s|15 years ago|reply
I take issue with this characterization: "Mauchly was not a better scientist than Atanasoff, but he was a more ambitious entrepreneur."
Mauchly did something Atanasoff did not: he made something useful. So useful, in fact, every digital computer you see in front of you is a direct descendant of Mauchly's labor, not Atanasoff. Eckert and Mauchly drew inspiration and ideas from many places, but I think people here should be able to sympathize with the fact that these two were the leaders behind the project that made those ideas a useful technology that changed the world. While those ideas existed before Eckert and Mauchly did their work, they're the ones who put in the grunt work to fully realize them - and contribute their own innovations along the way.
I actually find the portrayal of Eckert and Mauchly in the whole piece real disheartening.
[+] [-] bsk|15 years ago|reply
This doesn't make any sense. Atanasoff had some pretty genius ideas and together with Berry built the first electronic digital computer. Mauchly visited their lab, got a ton of information on ABC and later built another electronic digital computer - ENIAC, which was generally ABC 2.0.
[+] [-] wdewind|15 years ago|reply
[+] [-] Osmose|15 years ago|reply
http://en.wikipedia.org/wiki/Babbage
[+] [-] dhs|15 years ago|reply
[1] http://en.wikipedia.org/wiki/Konrad_Zuse [2] http://en.wikipedia.org/wiki/Plankalk%C3%BCl
[+] [-] aptimpropriety|15 years ago|reply
http://news.google.com/news/search?aq=f&pz=1&cf=all&...
[+] [-] ronnier|15 years ago|reply
http://viewtext.org/article?url=http%3a%2f%2fwww.nytimes.com...
[+] [-] aquarin|15 years ago|reply