Encyclopedia  |   World Factbook  |   World Flags  |   Reference Tables  |   List of Lists     
   Academic Disciplines  |   Historical Timeline  |   Themed Timelines  |   Biographies  |   How-Tos     
Sponsor by The Tattoo Collection
Plankalkül
Main Page | See live article | Alphabetical index

Plankalkül

Plankalkül (German, "Plan Calculus") is a computer language developed for engineering purposes by Konrad Zuse. Zuse is believed to have designed it between 1942 and 1946 but did not publish at that time owing to a combination of factors such as conditions in wartime and postwar Germany and his efforts to commercialise the Z3 computer and its successors. The Plankalkül was first published in 1972 and the first compiler for it was implemented in 2000 by the Free University of Berlin, five years after Zuse's death.

Zuse claimed that it was the first high level language (i.e., non-von Neumann language) to be designed for a computer. It included assignment statements, subroutines, conditional statements, iteration, floating point arithmetic, arrays, hierarchical record structures, assertions, exception handling, and other advanced features such as goal-directed execution. If Zuse's claims are in fact correct, then Plankalkül was the world's first-to-be-conceived high-level programming language (and indeed, the first modern programming language at any level above manual plug-insertion/toggle switching or raw machine code).

The example below shows a program which computes the maximum of three variables by calling the function max :

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

Although it was far ahead of its time, the Plankalkül was marred by an idiosyncratic notation using multiple lines; strangely, it shares that affliction with Frege's Begriffsschrift of 1879 (dealing with mathematical logic).

See also: programming language

References