Hacker News new | ask | show | jobs
by montrose 2913 days ago
I notice that although Zuse's patent applications are mentioned in the Wikipedia article on stored-program computers, the Z3 is not included in the list of candidates for first working hardware. Can anyone explain to me why it would have been disqualified?
2 comments

Architecturally, the Z3 and the Manchester Baby are very different. The Z3 is essentially a programmable calculator, lacking random-access memory or conditional branching. It's just barely Turing complete, but this was only discovered in 1998 after a very clever analysis by Raúl Rojas.

The Manchester Baby is small, slow and primitive, but it's also fundamentally modern, implementing a proper von Neumann architecture. It had a much more primitive arithmetic unit than the Z3 (capable only of subtraction and negation), but it had an instruction set that would be familiar to a modern programmer.

Zuse didn't know that he had built a Turing-complete computer. He was a practical man and built a practical machine for performing useful calculations. The Manchester Baby was explicitly built as a general-purpose computer. It was in many ways less useful than than the Z3, but it was a far more significant advance. Although Kilburn, Williams and Tootill knew nothing of the work that had been done at Bletchley Park, they were guided by people who did.

A stored-program computer requires the program itself to be stored in electronic memory, the Z3 uses electronic memory for input and output but tape for the program.
How the program is stored seems pretty irrelevant, really... Sure there's a category "stored-program computer", but why was it created?

IMO Zuse's machines were the big deal, but they were buried under a number of other firsts that weren't that revolutionary, after the war when the Allies were writing history alone for a few years.

I agree that Zuse deserves to be much better known, though I think he is actually better known than this machine, and the people who created it.

While I agree that, conceptually, there is little difference between a program on tape and one in working memory, the latter has a huge speed advantage. More intriguingly, I believe it was thought at the time that the ability of a program to modify itself would be very useful. Turing had already shown that it did not expand what is computable (though I do not know if that was widely appreciated), but even so, when you have very little, and slow, working memory, if it allowed you to reduce the size or speed of your program, that might be a big deal. Even the early COBOL allowed for limited self-modification, in the form of a goto that could be modified during execution to go to different addresses. The problem with self-modifying code turned out to be that it is very hard to reason about and debug.

As the Z3 cannot perform conditional branches I assume it was difficult or impossible for the hardware at the time to do anything other than move the tape in a linear sequence in a single clock cycle. A stored-program computer that uses a program counter to point to the current instruction (the position on the "tape") seems to be a significant step forward.
Right. If I recall correctly a proof it was potentially Turing complete is relatively recent and obscure, so it's difficult to consider it a general purpose computer like the SSEM. Credit to Zuse, like the pre-war Polish cryptographers, anyhow.
This seems to me like a far more salient distinction than how the program is stored.

Instruction pointer and explicit branching.

The Z3 is still (in a theoretical sense) Turing-complete, even without branching instructions (exponential path construction).

Extract from http://www.inf.fu-berlin.de/inst/ag-ki/rojas_home/documents/...

"We can therefore say that, from an abstract theoretical perspective, the computing model of the Z3 is equivalent to the computing model of today's computers. From a practical perspective, and in the way the Z3 was really programmed, it was not equivalent to modern computers."

> after the war when the Allies were writing history alone for a few years.

British machinery like Colossus was still kept a closely guarded secret until the mid 1970s.

The machinery was secret, but the lessons learned quietly trickled out. Newman, Flowers and Turing couldn't talk about what they did at Bletchley, but they made substantial contributions to the development of computers in the post-war years.
And thus also the contribution of people like Kilburn, featured rather sadly in a BBC documentary and particularly relevant here, with many in a similar boat.
And still being used until quite late on :-) we sold a lot of countries surplus enigma machines
Ah, thank you.