roitman

Konrad Zuse - a programmer ahead of his time

Konrad Zuse was a pioneer in the creation of computing technology, a man whose destiny seemed to obstruct progress but couldn't prevent him from creating the first high-level programming language, one of the first computers, and the first book on digital physics.

July 8, 2024

Konrad lived in a challenging time, growing up among the "lost generation" devastated by World War I. His youth was spent in a ruined Germany, and his mature years saw his homeland ravaged by the "brown plague" of Nazism, which then led to global destruction. Amidst this chaos and isolation, Konrad Zuse created a digital future. This digital future has given us access to his archive, and this story of his life and work will be illustrated with images, some of which have never been published in Russian. We will discuss his inventions, computers, and programming language, while not forgetting the man behind them, who achieved scientific and public recognition. The cover image for this long-read is a 10-euro coin issued to commemorate his 100th birthday.

Konrad Zuse was born on June 22, 1910, in Berlin to a fairly affluent family. This family wealth would have a direct impact on his entire life. He began his scientific work at his parents' home, funded by his family, and later directly converted science into money by making the computer a tool for production.

Even in school, he was engaged in technical inventions, and after school, he entered the Technical University in Berlin. This place held special significance in Konrad's life. The university had a spirit of freedom, and Konrad, a convinced atheist, often clashed with his "traditional" parents. At the university, he received an education in architecture and then moved into civil engineering.

Professor Raúl Rojas, a mathematics professor at Berlin University who studied Konrad Zuse's life and work, recalled that as a student performing repetitive mathematical tasks, Konrad realized these actions could be automated.

His task was to conduct static, repetitive calculations for bridges or determine material loads for machines. How was this done?

An engineer had a special form with all the necessary formulas pre-printed. The worker simply had to enter their data and follow the fully developed computational path.

It was precisely this repetitive task that the young Konrad wanted to solve, laying the foundation for his computer and the first programming language. He began this work while still a student. In the 1930s, Konrad was in his early twenties, passionate about drawing, inventing, and working on socially significant projects. However, due to Germany's isolation, he was not well-acquainted with scientific achievements in the USA, particularly the work of John von Neumann. Figures like John Eckert, John Mauchly, Howard Aiken, and John Atanasoff were all "out of reach" for Konrad Zuse.

And this is a situation where isolation turned out to be a plus, not a minus! Konrad independently created what entire institutes with renowned scientists were striving to achieve, and he did it in his own way.

How did he manage this?

After graduating and a brief stint at an aircraft factory (a job that possibly saved his life later on), Konrad decided to go into business and build his computer. A workshop in his parents' home, along with financial and technical help from friends, allowed him to begin creating the first mechanical computer.

The first computer was initially called "VersuchsModell 1" or simply "V-1," meaning "experimental model 1." However, after World War II, it was renamed "Z-1" since German rockets were bad advertising for computer names. Below is a photo of the Z-1 computer in the Zuse family living room, with Konrad Zuse on the right and his friend Helmut Schreyer on the left, without whom the entire idea might not have succeeded, but we'll tell you more about him later.

What was Z-1?

Z-1 was a mechanical calculator operating in binary. This calculator had an electric drive with limited programmability (a finite set of executable instructions) and could read instructions from punched tape. It can be called a computer: it had a control unit, input/output device, and could perform floating-point calculations. It could carry out complex calculations like multiplication (via repeated addition) and division (via repeated subtraction). Commands were input via punch cards and were not stored in the computer. Additionally, the input/output device could convert binary numbers to decimal and vice versa.

Let's explain how it worked.

At the core of the calculations are logic gates—elements that perform elementary logical operations. In Zuse's computer, these elements were metal plates that could only shift linearly in a purely mechanical manner. For the binary system, this was sufficient to record any number. Logic gates were also used for calculations. These were also metal plates responsible for more complex logical operations (AND; OR; NOT). These plates had to be physically different from each other because they needed to interact directly in a physical sense.

The mechanical assembly of these components was extremely complex. Each metal plate's movement had to be coordinated with the movement of another plate. Additionally, many layers of these plates were required for calculations. It can be said that the mechanical construction of this calculator was significantly more complicated than its logical structure.

And imagine: both the mechanical construction and the logical structure were invented and developed by one person, Konrad Zuse! This mechanism eventually weighed 500 kilograms, and only Konrad fully understood how it worked. His friends, who helped cut hundreds of plates, could not fully grasp the concept. The experiment was successful; this computer correctly calculated 3x3 matrices for several people.

Despite the immense mechanical complexity, the device worked rather slowly and frequently broke down, but it proved the author's idea! The task of creating this device was accomplished!

What does a researcher do after achieving a goal? Set a new one, of course!

Thus began the history of the Z-2, a new machine. It used the same mechanical memory, but the arithmetic and logic control were handled by electromechanical relays. Unlike the previous model, the Z-2 used 16-bit fixed-point arithmetic, while the Z-1 used 22-bit floating-point arithmetic.

But the Z-2 had significant practical importance. In 1940, it was presented to scientists at the German Aeronautical Laboratory in Berlin-Adlershof (a major scientific and technical project that still exists today). During the presentation, the Z-2 performed its tasks perfectly, and Konrad received funding from the German government to create the next machine. No drawings, parts, or photographs of the Z-2 have survived; everything was destroyed during the war.

And here, Konrad's friend Helmut Schreyer comes into play, like a Chekhov's gun. He suggests replacing relays with electronic tubes and successfully demonstrates how this would speed up the process. The situation might have developed differently, but the German authorities, to whom Zuse and Schreyer applied for funding, refused to allocate the massive funds needed to create a computer using tubes. Thus, the Z-3 was built in 1941 using electromechanical relays. In 1943, the ENIAC computer in the USA showed that tube technology was effective but extremely costly. Let's return to Germany. Zuse's computers would also eventually use tubes, but only several decades later.

In 1941, Konrad Zuse completed work on the Z-3. It used about 2,000 relays and was technically a much more advanced machine. The clock frequency was about 5–10 Hz (the first version had 1 Hz), floating-point arithmetic was improved, and exception handling (positive/negative infinity and undefined) was added. This computer was already used in practice: it performed some practical calculations. The German Aeronautical Research Institute used it for statistical analysis of wing flutter. Flutter is a specific oscillation of the wings during an aircraft's flight that can even destroy it. For more about this phenomenon, I recommend reading here.

Information about this part of Zuse's work varies; there are mentions of special machines for calculating wing measurements. The photo, according to the Zuse Internet Archive, shows a special model S1 for measuring wings.

Now it is worth saying a few words about Zuse's personality.

Zuse was not a party member, and there are no records of his stance on working for the Nazi military, even though his inventions were undoubtedly used in aviation and missile prototype development.

The author of this text believes that Zuse's later memoir is noteworthy. Zuse wrote, "In our time, the best scientists and engineers often have to choose between doing their work for more or less dubious business and military interests in a 'deal with the devil' or not engaging in their activities at all." This is a loose translation from his 1984 book "Der Computer – Mein Lebenswerk." This thought, according to the author, reflects the general dilemma faced by 20th-century scientists, where even peaceful inventions, such as a large and complex calculator, could be used for destructive purposes.

During the war, Zuse worked on the next computer, the Z-4, and successfully completed it near the war's end. He and his equipment were evacuated from Berlin shortly before the war ended, and neither the equipment nor Zuse himself ended up working for the Allies.

Technically, the Z-4 was impressive. Its memory was upgraded to 32 bits. It had a special unit that perforated tapes with programs, greatly simplifying programming and program adjustments. It could use square root functions and MAX and MIN functions. Interchangeable perforated tapes with programs and subprograms were used.

Let's take a brief detour to meet the woman who worked on the Z-4.

We have unique memories preserved by Ursula Walk, the first German female programmer, who worked for Konrad Zuse in the post-war period. She provides insight into his personality and some aspects of their work.

In 1948, Ursula, who had significant technical experience, was working on cleaning tasks (as life in post-war Germany was quite challenging) when she was approached by an employee of Zuse's company. He offered her a job working directly on the Z-4, which included medical insurance and a small salary.

Ursula recalled that the computer was located in the basement of a village baker's flour warehouse. The working conditions were quite makeshift: no running water, employees had to use the restroom at a nearby restaurant, and the only lighting was electric. The locals considered the computer a "strange machine," but Zuse won their respect by winning a bet: who could calculate the milk bill faster, the dairy farm or Zuse and his computer? Zuse won.

Ursula's job involved entering numbers into the calculator and performing computations according to the program. She also documented the Z-4, typed Zuse's dissertation, and sent it to the university for defense. The defense didn't occur because Zuse didn't send the required 400 marks, a fact he joked about, according to Ursula.

Let's return to our protagonist's story.

The Z-4 computer was completed in 1945 and taken out of Berlin. In 1946, Zuse founded a company to sell computers, but his business acumen truly flourished in 1949. He met Eduard Stiefel, a Swiss mathematician who had just returned from the USA, familiar with American computing advancements. Stiefel tested Zuse and his Z-4 with a differential equation, for which Zuse wrote a program in his presence. The demonstration was impressive, leading Stiefel to purchase the Z-4 the following year for the Swiss Federal Institute of Technology in Zurich, where Stiefel worked.

Finally, Zuse's computer began to perform peacetime tasks. It was purchased specifically for calculating the construction of the Clèuson-Dixence Dam in Switzerland. For the next two years, it was the only commercially operating computer in continental Europe and, overall, the second working computer in the world. It was outperformed only by the American BINAC, which never practically executed its tasks. Thus, the Z-4, albeit with some caveats, can be considered the first true commercial computer. In 1954, it was sold again to the Franco-German Research Institute in France, where it operated until 1959, eventually becoming obsolete. Today, the original Z-4 is a museum exhibit at the Deutsches Museum in Munich.

The business thrived, and following the Z-4, a series of computers ensued. The Z-22 used electronic tubes for the first time, an idea Zuse had proposed back in 1938. The Z-23 transitioned to transistors, which became the basis for all subsequent computers. Production continued until the 1960s, at which point Zuse KG (the firm's name by then) lost its competitive edge. In 1962, the firm was sold to Brown, Boveri & Cie., and later to Siemens, which ceased production of Zuse computers by the late 1960s. Zuse remained as a scientific consultant and continued his research until the end of his life.

Plankalkül - the first high-level programming language

Our hero is not only a "hardware hero" but also the creator of the first high-level programming language. This story deserves its own telling, especially once you're familiar with his hardware innovations. You might think the first language was FORTRAN, but it was the first widely known and practically used language. FORTRAN was developed starting in 1953, while Konrad Zuse personally created Plankalkül in 1942 (continuing work until 1945 and beyond), right during the war. However, it was a theoretical language.

Konrad himself did not believe his language would find practical use:

“I was convinced that Plankalkül was purely theoretical and would not be used in practice.”

Konrad Zuse's genius lay in the fact that his language was not tied to a specific computing machine, its architecture, or instruction set. It was the world's first symbolic language, created before the concept of "algorithmic language" even existed. Zuse introduced the notion of "objects" in his language, which could be "primitive," based on binary numbers of various lengths, or "composite," including structures, recursively defined arrays of arbitrary dimensionality, and more. This language allowed for complex syntactic constructions, facilitating the execution of complex tasks.

Zuse developed his own syntax to handle these complexities, incorporating the ability to work with arrays and subarrays, as well as the use of subroutines. Meanwhile, we will continue to inform the general reader.

In 1957, Konrad Zuse poetically expressed his wish for his programming language, Plankalkül, to "awaken like Sleeping Beauty," and he was right. The language came to life in 2000 when an interpreter was written for it and tested in practice. Plankalkül didn't gain widespread recognition mainly because its documentation was only published in 1972, making it largely unknown to scientists worldwide. Zuse's commercial activities also likely influenced this. Had the language been known earlier, it could have significantly advanced the field of computer science.

Despite facing numerous challenges, Zuse's relentless drive for progress allowed him to create a computer ahead of its time. Although his achievements were later recognized, scientists lamented that had his work been known globally, progress could have advanced more rapidly. Zuse's life demonstrated that even a brilliant individual struggles to compete with entire scientific institutions, yet his contributions remain monumental.

roitman

Roitman LLC, All rights reserved