Monday, September 14, 2015

2 - Historical Figure in Computing: Konrad Zuse

For this blog post, I was to research a noteworthy figure in the history of computing. We listened to a lecture about several individuals who invented/innovated computational machines, both electronic and mechanical. It would have been too much work to find information on Charles Babbage that wasn't covered in my Intro to Computer Science class, and nearly not as fun as looking up someone obscure who didn't get a lot of validation.

Born in 1910 in Berlin, Germany, Konrad Zuse was a pioneer in computer programming. He worked for the Henschel Aircraft Company after graduating from the Technische Hochschule Berlin-Charlottenburg in 1935. According to the Computer History Museum, he "spent his weekends building a computer (the ZI) in his parents' living room. He completed the ZI, for which instructions were punched on used movie film, in 1938."


Here is a photo of the Zuse Z1 in its residential setting

As amazing as this invention is, as well as its successors (the Z2, Z3 and Z4), neither Zuse, nor his creations, were given the recognition that they deserved until after he died in 1995. All but the Z4 were destroyed by Allied bombings during WWII. He sold the Z4 to the Swiss Federal Institute of Technology. According to Heinz Rutishauser, one of the founders of ALGOL"The very first attempt to devise an algorithmic language was undertaken in 1948 by K. Zuse. His notation was quite general, but the proposal never attained the consideration it deserved."

Further, he was added to their Hall of Fellows in 1999 "for his invention of the first program-controlled, electromechanical, digital computer and the first high-level programming language, "Plankalkul."" Plankalkul, meaning "formal system for planning," was designed between 1943 and 1945 for engineering purposes. Here is an example of a linear code written in Plankalkul:
P1 max3 (V0[:8.0],V1[:8.0],V2[:8.0]) → R0[:8.0]
max(V0[:8.0],V1[:8.0]) → Z1[:8.0]
max(Z1[:8.0],V2[:8.0]) → R0[:8.0]
END
P2 max (V0[:8.0],V1[:8.0]) → R0[:8.0]
V0[:8.0] → Z1[:8.0]
(Z1[:8.0] < V1[:8.0]) → V1[:8.0] → Z1[:8.0]
Z1[:8.0] → R0[:8.0]
END

No comments:

Post a Comment