Plankalkül

related topics
{math, number, function}
{work, book, publish}
{system, computer, user}
{son, year, death}
{language, word, form}

Plankalkül (German pronunciation: [ˈplaːnkalkyːl], "Plan Calculus") is a computer language developed for engineering purposes by Konrad Zuse. It was the first high-level non-von Neumann programming language to be designed for a computer and was designed between 1943 and 1945. Also, notes survive with scribblings about such a plan calculation dating back to 1941. Plankalkül was not published 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. By 1946, Zuse had written a book on the subject[1] but this remained unpublished. In 1948 Zuse published a paper about the Plankalkül in the "Archiv der Mathematik" but still did not attract much feedback - for a long time to come programming a computer would only be thought of as programming with machine code. The Plankalkül was eventually more comprehensively published in 1972 and the first compiler for it was implemented in 1998. Another independent implementation followed in the year 2000 by the Free University of Berlin.

"Kalkül" means formal system – the Hilbert-style deduction system is for example originally called "Hilbert-Kalkül", so Plankalkül means "formal system for planning".

Contents

Description

Plankalkül drew comparisons to APL and relational algebra. It includes 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.

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

Plankalkül shared an idiosyncratic notation using multiple lines with Frege's Begriffsschrift of 1879 (dealing with mathematical logic).[clarification needed]

[edit] Quotations

In a lecture in 1957 Zuse mentioned his hope that the Plankalkül "after some time as a Sleeping Beauty, will yet come to life."

Heinz Rutishauser, one of the founders of ALGOL:

Full article ▸

related documents
Euclid
JUnit
Gabriel Lamé
Equivalence class
Center (group theory)
Measurable function
Sieve of Eratosthenes
Co-NP
Ring homomorphism
Mary (programming language)
Digital Signature Algorithm
Church–Rosser theorem
Endomorphism ring
Co-NP-complete
Sedenion
Identity function
Disjoint sets
Power associativity
Prime ideal
Context-sensitive language
Markov process
Galois group
Uniform Resource Locator
Chart parser
Almost all
Euclidean distance
Lazy initialization
Leaf node
Senary
Wikipedia:Logging in bug reports