:''This article is about the Z3 pioneering computer from 1941. For the BMW automobile, see BMW_Z3''. Konrad_Zuse's '''Z3''' was the first working programmable, fully automatic Machine, whose attributes, with the addition of conditional branching, have often been the ones used as criteria in defining a Computer. The Z3 was built with 2,000 Relays, had a Clock_frequency of ~5–10 Hz, and a word length of 22 Bits.{{ cite book |last=Zuse |first=Konrad |authorlink=Konrad Zuse |title=Der Computer – Mein Lebenswerk |edition=3rd ed. |date= |year=1993 |publisher=Springer-Verlag |location=Berlin |language=German |id=ISBN 3-540-56292-3 |doi = |pages=p. 55 }} Calculations on the computer were performed in full binary Floating_point Arithmetic. The machine was completed in 1941 (on May_12 that year, it was successfully presented to an audience of scientists in Berlin). The original Z3 was destroyed in 1944 during an Allied bombardment of Berlin. A fully functioning replica was built in the 1960s by the originator's company Zuse_KG and is on permanent display in the Deutsches_Museum. In 1998 the Z3 was proven to be Turing-complete. ==How the Z3 relates to other work== Unlike the first ''non''-programmable computer built by Wilhelm_Schickard in 1623, the Z3 of 1941 was program-controlled. The success of Zuse's Z3 is often attributed to its use of the simple binary system. This was invented roughly three centuries earlier by Gottfried_Leibniz; Boole later used it to develop his Boolean_algebra. In 1937, Claude_Shannon of MIT introduced the idea of mapping Boolean algebra onto electronic relays in a seminal work on Digital_circuit design. Nevertheless, Zuse was the one who put it all together and made it work on the program-controlled Z3. The first ''design'' of a program-controlled computer was due to Charles_Babbage in the mid 1800s. This design, however, could not be realized back then, presumably because it was decimal and therefore rather complicated, not binary and simple like the Z3. (In 1991, however, working from Babbage's original plans, a reconstruction of his Difference Engine was completed, and functioned well.) And if Babbage's friend Ada_Lovelace was the first ''theoretical'' programmer, writing programs for a machine that did not exist, then Zuse was the first ''practical'' programmer. The ENIAC was completed 5 years after the Z3. ENIAC used Vacuum_tubes to implement switches, Z3 used Relays. ENIAC was still decimal, Z3 was already binary. Until 1948, to program ENIAC actually meant to rewire it; while the Z3 read programs off a tape (actually a punched film). Today's computers are based on Transistors instead of tubes or relays; their basic architecture, however, is much more similar to Z3's than to ENIAC's. Z3 needed an ''external'' tape to store its program. The Manchester Baby of 1948 and the EDSAC of 1949 were the world's first computers with ''internally'' Stored_programs, implementing a concept frequently attributed to a 1945 paper of John_von_Neumann and colleagues. A patent application of Konrad Zuse, however, mentioned this concept almost a decade earlier in 1936, although the patent was rejected. {{Early computer characteristics}} ==Relation to the concept of a universal Turing machine== It was possible to construct loops on the Z3, but there was no conditional jump instruction (although it would have been rather straightforward to insert one). Nevertheless, there is a way of implementing a universal Turing_machine on a Z3 (assuming unlimited storage and zero crashing probability), as was shown in 1998. It is an awkward way, but the Turing machine itself is an awkward device, designed to be simple and universal, not efficient. From a pragmatic point of view, however, it is much more relevant that the Z3 provided a quite ''practical'' Instruction_set for the typical engineering applications of the 1940s—Zuse was a Civil_engineer who only started to build his computers to facilitate his work in his main profession—and that in many pioneering ways it was quite similar to modern computers. ==See also== *Z1 *Z2 *Z4 *Manchester_Mark_I *Manchester_Mark_II *SSEC ==Notes and references==
==External links== *Z3 page at the Technical University of Berlin *''Was Zuse's Z3 the First Programmable Computer?'' – Slashdot item, 7_June 2004, with several links and comments *The Life and Work of Konrad Zuse *Konrad Zuse’s Legacy: The Architecture of the Z1 and Z3 (PDF) *How to Make Zuse's Z3 a Universal Computer Raúl Rojas Category:World_War_II_German_electronics Z03 Z03 Da:Z3 De:Zuse_Z3 Es:Computador_Z3 Fr:Zuse_3 He:Z3 Id:Z3 It:Zuse_Z3 Ja:Zuse_Z3 Pl:Z3 Ru:Z3_(компьютер) Fi:Z3 Sv:Z3