Konrad Zuse - Turing's Alter Ego?

The foundation myths of computer science include tales of cryptographers typing seemingly unending random texts and feeding them to humming mountains of circuitry and wiring. No shrieks of delight or howls of despair issued from the assembled cryptanalysts when the machines ended their temperamental runs, sometimes saving the lives of World War 2 merchant mariners, and definitely altering the course of history.

They were men of quiet determination and their satisfaction was purely intellectual. Alan Turing and his colleagues had invented a new method of problem solving and a new science was in the making.

Most of the other countries that have played an important part in the progress of modern IT, like Japan, Germany, Ireland and India, seem to be left with the role of bit players, or late entries at best. Even if they are now accorded parity, it is assumed that they never played much of a role as independent sources in the early history of computing.

The Turing Effect

Things, alas, were never that simple. Even within the shores of the British mainland, the story of computer science was never reducible merely to the gay icon, long distance runner, mathematical genius and premier computer engineer, Alan Turing. Alan Hodges' admirable biography of Turing weaves a fascinating web of Machiavellian complexity extending from King's College, Cambridge, to Princeton, New Jersey, Churchill's War Cabinet and a large number of equally talented cryptographers and mathematicians working for British Intelligence.


German technology

Wartime Germany produced a number of astonishing technologies, almost none of which had any impact on the final outcome of the war. V2s rained destruction on London and Antwerp, and Walther U-boats prowled the North Sea undetected in 1945. Jet fighters were produced in some numbers, but experienced considerable problems.

Just as remarkable is the invention of the first stored-program computer and the first programming language, produced long before their counterparts in other countries, but never utilised by the German war machine, and barely acknowledged outside Germany's borders. They didn't change the history of the world. Their development happened at the same time as the Colossus machines used to break the German Lorenz ciphers in the UK, and may well have changed the history of computing, had Germany won the war. The significance of Colossus was the essential role it played in the years when Britain stood alone, and the effect it had on the eventual outcome of the war. ENIAC and the similar computers of the late 1940s and early 1950s were late to the party.

Zuse the Hermit?

The inventor of both the first programming language and the first stored-program computer was the German engineer, artist and entrepreneur, Konrad Zuse (1910-1985). Virtually unknown outside his own country until the late 1940s, he almost single-handedly pioneered the stored-program von Neumann architecture, predating Neumann et al by 9 years. He also developed the first working programming language. Unfortunately, it was so far ahead of its time that it never got implemented by Zuse himself, since there was no hardware powerful enough to execute its instruction set. He also founded the first company in the world that was dedicated to the production of computer hardware. When his autobiography was translated into English in 1993, his work came to be recognized and he is now ranked among the pioneers of the information age.

But sadly, apart from his autobiography, there is not a single book-length publication available in English that tells the full story of Zuse's remarkable innovations. One of his books on digital physics was translated into English in 1970, but was so far ahead of its time that its true value didn't come to be recognised until decades later. This is a scandalous omission, and one that is extremely difficult to understand: although all his scientific and engineering work has been published in his native language, professional historians of computing have tended to neglect anything not written in English. As a result, Zuse's considerable contributions to the early development of computer science have been all but forgotten in the English speaking world. The History of Computing Journal, published by the IEEE, did print a handful of articles on Zuse and other pioneers of computing, but the first research paper to show equivalence between Zuse's first working computer (built in 1936) and a universal Turning machine, wasn't published until 1999...

Zuse in the Making

Konrad Zuse set out to build his first computer in Berlin in 1936. There is a famous photograph of him giving the bird to a PC in the early 1990s, but he never used a PC and didn't have a computer in his home until 1985.

Zuse was a maverick. When he began writing and conceiving the idea of a computer in the mid-30s, he was completely unaware of the theoretical work going on in Cambridge and Princeton. It is not known whether he knew anything about work outside (or even inside) Germany, before IBM came knocking at his door in 1948 - an event that has been insufficiently investigated.

He passed his degree in civil engineering in 1935, after meandering his way through university, famously changing his degree course 3 times. His painting flourished and his parents quietly despaired. He hated numerical analysis tutorials, and started thinking about building a calculator as early as 1934 to avoid mind-numbing calculations. This in itself was not very unusual: some of the richer universities, and some companies, had installed powerful calculators in the 1930s and encryption had been performed by mechanical means since the early 1920s.


Z1

Zuse conceived of computing machines as useful tools with which to perform mathematical tasks, although he assumed from the start that any computer should be able to process arbitrary instructions fed to it from punch tape or a similar medium. He proposed to build a binary-based, fully programmable calculator using the architectural format later popularized by John von Neumann, John William Mauchly and J. Presper Eckert. He called the programmable calculator Z1.

Zuse quit his job in 1936 to build Z1 in his parents' Berlin living room, prefiguring the youthful hacker of Silicon Valley mythology by about 50 years - he laboured for two years until he finished a prototype in 1938. It almost worked. Having been partly destroyed by Allied bombers in Berlin in 1943, Konrad Zuse decided to rebuild the Z1 in 1986, and the model can be seen today in the Deutsche Technik Museum in Berlin. It was a tour-de-force of primitive electro-mechanical engineering, using 20,000 parts, many of which were metal plates cut with a fret saw. They were used to work as relays and mechanical switching units. Z1 weighed about half a ton and used 33 bit signed words including an 8 bit mantissa. It used floating point numbers, and relied on 1300 bits of memory; it was powered by a 1 hertz electrical power source. The clock speed enabled about 1 multiplication per 5 seconds and if the power failed, the computer could be driven by a hand crank.

The Z1 was programmed using a punch tape reader - control unit, arithmetic unit, memory and I/O were clearly distinguished. Thus began the age of the programmable computer.

Rather worryingly to modern eyes, the control units and memory worked using an ingenious mechanical, not an electrical mechanism. The metal sheets used to implement many of the mechanical operations were too complex to be reliable, but the fact remains that except for automatic program loading, all operations needed for modern computer architecture were available. The arithmetical unit used floating point numbers, a concept discussed 10 years later in the US without much conviction or intent.

Z2

Z2 contained an important innovation, namely relay units. Konrad Zuse had little access to research funds at the time and he could neither afford nor was he aware of vacuum tubes as switching units. A phone company donated 800 relays to his project, and he was able to build his control and arithmetical unit from them. Again, Z2 was destroyed during the Second World War. To Konrad Zuse, the Z2 was little more than a stage through which to pass to make his programmable calculators reliable.

Z3

Z3, finished in 1941, supported by a small government grant and rebuilt several times, has essentially the same features as the Z1. It contained a 5.33 Hertz clock generator and it was built entirely of electric relays. Zuse spent 3 years soldering connections between 2400 relays and, rather uniquely, enabled the programmer to step through the instructions to check memory content and the results of instructions: basically, Zuse had made the first steps towards a debugger. He did not, however implement one important feature: he did not store the program together with the data in memory, although he was aware of the advantages of this feature. The reason was simple and familiar to programmers until the age of memory glut: his memory unit was not large enough to allow for such expensive waste of memory. Nevertheless, by use of an early type of instruction pipelining and some parallelism, he had lowered the time slice for a multiplication of two floating point numbers to 3 seconds.

The Travails of a Computer Maker

Curiously, his arithmetical unit was essentially an adder, only implementing addition and subtraction of floating point numbers. His ideas for an independent programming language translated into the machine's own binary code matured during the years after Z3 was completed. He wrote his first report on the Plankalkül language (the meaning of which corresponds roughly to "procedural calculus") in 1945, just at the time when he was trying to save his work from the tribulations at the end of the WW2. His Z4 computer had by that time garnered some attention by another Third Reich luminary whose post-war career should eclipse all engineering careers during the 20th century: Wernher von Braun.

Konrad Zuse was about to surrender his precious computer to von Braun's V2-production facility in early 1945, when he realized that he would become an accomplice in what could only be considered a concentration camp. The conditions appalled Zuse to such an extent that he turned around the truck carrying his life's work, and headed towards a small village in South Germany, where he deposited his drawings and his computer. Von Braun wasn't entirely convinced that computers would have a role in the development of space travel. His reaction to Zuse's disappearance has not been recorded.

The First Computer Language

Zuse was already aware in 1941 that the Z3 was able to compute all possible calculations in the sense of a universal Turing machine; he also knew that Z3 was able to perform operations that were quite different from algebraic and numerical operations. His cause celebre was a chess program that he wrote in 1945/46, a task made more complex by the fact that Zuse had to learn chess first.

Zuse, as an engineer and artist who was not too much in favour of mathematics in general, did not have the resources to conduct a search for Turing's articles. Unfortunately, Zuse's notes for his programming language had to wait until 1972 before they were published in a German journal. Owing to complications in the German patenting process, he waited until 1967 to patent innovations implemented in Z3 built in 1941, only to have his applications rejected since it did not represent enough of an advance on the state of technology - in 1967.

Conversely, it should be added that Zuse had not heard of Charles Babbage or Ada Lovelace until fairly late in his life. He always considered himself a creator, and totally disregarded the work of those who had gone before him. It was fairly unlikely that they had done anything that he might have found interesting.

His Z4 machine, which he sold to ETH Zürich in 1948 was programmable, but unfortunately he could not use his own Plankalkül programming language to do the programming. Plankalkül was far enough ahead of its time to merit a whole book on its own, but a little taste of its features might make anyone knowledgeable about the history of programming languages rub their eyes in astonishment: it had conditional statements and loops, assignments, predicate logic and Boolean operations. Zuse found out about Boolean algebra during his attempts at building computers. Plankalkül also used data structures like records and arrays. Zuse introduced parentheses and permitted nesting. He had subroutines, although the name he chose was somewhat misleading (roughly "program components").

One of the first programs Zuse wrote for publication was a syntax checker for Boolean expressions, thereby recognising fully that even the Z3 was already past the stage where it could be considered as nothing more than a glorified calculator.


And later...

In his later life, Zuse founded Zuse KG, a company wholly dedicated to the manufacture of computers. He built the first computer on European soil, not counting the British Colossus machines which were dismantled in 1946. The Colossus was not fully programmable and therefore did not fulfill the criteria of Turing completeness.

Zuse is also known as one of the originators of the theory of cellular automata and worked on a number of artificial intelligence issues. Although he became quite successful as the owner of Zuse KG, the company suffered from chronic undercapitalisation throughout its existence. Eventually, when the production line had to be halted for two months to rectify problems with the manufacturing process, Zuse was forced to sell the company because he could not pay his workers. Ultimately, the telecoms and electronic giant Siemens swallowed his factory and he abandoned the idea of creating another enterprise. He had been an entrepeneur since Z3 had been completed in 1941 and he preferred to preserve his legacy by rebuilding his early computers.

In the 1980s, Konrad Zuse's fame suddenly spread worldwide; he was feted and honoured while meeting many of his erstwhile competitors. In most cases he had not been aware of their existence. It is about time that 9 years after his death, we become much more aware of his achievments.


Cellular Automata and Digital Physics

Konrad Zuse has never been well-known among computer history buffs. He seemed esoteric, too much of a hacker. That he might have been an academic is clear from the dissertation he was trying to write towards the end of WW2 when destruction and the necessity to make money forced Zuse to abandon all academic pursuits for several decades.

Rather surprisingly, Zuse never shied away from doing research in fairly exotic logic journals, he also found time to read John von Neumann's theory of self-reproducing automata upon publication. Von Neumann had never been an engineer in the European mold or a tinkerer mathematician like Turing and friends. Zuse had no hang-ups when it came to ingesting modern computational theories provided it suited his interests. In 1967 he published "On self-reproducing systems". He was clearly aware of papers in theoretical biology that had motivated much of the work done in early cybernetics and self-organizing systems. Where Zuse had truly revolutionary insights was in his adumbration of digital physics: he asked whether it was possible to regard the universe as a discrete computational space and wrote a paper "Calculating Space" that was published in 1967; a book version was translated into English in 1970.

He used cellular automatons, an idea he had borrowed from John von Neumann and others, elaborating them during the latter half of the 1960s as the basis for putting physics on a new foundation. If this reminds you of a somewhat more recent event in the history of scientific publications, then the name of Stephen Wolfram might sound familiar. Wolfram acknowledges his considerable debt to Zuse and Edward Fredkin in these matters. We should not forget, though, that when Zuse was publishing his work, it was not possible yet to regard the theory of cellular automata as fully compatible with Turing-complete computation. It was even more difficult to admit that the whole of physics could be rethought in terms of the discrete computation. The mathematics was non-trivial and people like Stephen Wolfram, another scientist-entrepeneur, became instrumental in this paradigm change.


References

Zuse's bio according to his son
www.epemag.com/zuse

Zuse's written work, published on the internet plus material on the Plankalkül
www.zib.de/zuse

Zuse's short bio in his own words, translated into English
http://ei.cs.vt.edu/~history/Zuse.html

Turing archive, indispensable for the Colossus, and early programming language research
www.turing.org.uk/turing

Zuse's take on self-reproducing systems, cellular automata and digital physics
www.zib.de/zuse/Inhalt/Texte/Chrono/60er/Html/0073/0073.html

English translations of Zuse's "Calculating Space"
www.idsia.ch/~juergen/digitalphysics.html



Back to top