Plankalkül
Encyclopedia
Plankalkül (ˈplaːnkalkyːl, "Plan Calculus") is a computer language designed for engineering purposes by Konrad Zuse
between 1943 and 1945. It was the first high-level
non-von Neumann
programming language
to be designed for a computer. 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 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".
and relational algebra
. It includes assignment statements, subroutine
s, 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
).
, will yet come to life."
Heinz Rutishauser, one of the founders of ALGOL
:
Konrad Zuse
Konrad Zuse was a German civil engineer and computer pioneer. His greatest achievement was the world's first functional program-controlled Turing-complete computer, the Z3, which became operational in May 1941....
between 1943 and 1945. It was the first high-level
High-level programming language
A high-level programming language is a programming language with strong abstraction from the details of the computer. In comparison to low-level programming languages, it may use natural language elements, be easier to use, or be from the specification of the program, making the process of...
non-von Neumann
Von Neumann programming languages
A von Neumann language is any of those programming languages that are high-level abstract isomorphic copies of von Neumann architectures . As of 2009, most current programming languages fit into this description, likely as a consequence of the extensive domination of the von Neumann computer...
programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
to be designed for a computer. 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
World War II
World War II, or the Second World War , was a global conflict lasting from 1939 to 1945, involving most of the world's nations—including all of the great powers—eventually forming two opposing military alliances: the Allies and the Axis...
and postwar Germany and his efforts to commercialise the Z3 computer and its successors. By 1946, Zuse had written a book on the subject 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
Free University of Berlin
Freie Universität Berlin is one of the leading and most prestigious research universities in Germany and continental Europe. It distinguishes itself through its modern and international character. It is the largest of the four universities in Berlin. Research at the university is focused on the...
.
"Kalkül" means formal system
Formal system
In formal logic, a formal system consists of a formal language and a set of inference rules, used to derive an expression from one or more other premises that are antecedently supposed or derived . The axioms and rules may be called a deductive apparatus...
– the Hilbert-style deduction system
Hilbert-style deduction system
In logic, especially mathematical logic, a Hilbert system, sometimes called Hilbert calculus or Hilbert–Ackermann system, is a type of system of formal deduction attributed to Gottlob Frege and David Hilbert...
is for example originally called "Hilbert-Kalkül", so Plankalkül means "formal system for planning".
Description
Plankalkül drew comparisons to APLAPL programming language
APL is an interactive array-oriented language and integrated development environment, which is available from a number of commercial and noncommercial vendors and for most computer platforms. It is based on a mathematical notation developed by Kenneth E...
and relational algebra
Relational algebra
Relational algebra, an offshoot of first-order logic , deals with a set of finitary relations that is closed under certain operators. These operators operate on one or more relations to yield a relation...
. It includes assignment statements, subroutine
Subroutine
In computer science, a subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code....
s, conditional statements, iteration, floating point
Floating point
In computing, floating point describes a method of representing real numbers in a way that can support a wide range of values. Numbers are, in general, represented approximately to a fixed number of significant digits and scaled using an exponent. The base for the scaling is normally 2, 10 or 16...
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
Gottlob Frege
Friedrich Ludwig Gottlob Frege was a German mathematician, logician and philosopher. He is considered to be one of the founders of modern logic, and made major contributions to the foundations of mathematics. He is generally considered to be the father of analytic philosophy, for his writings on...
's Begriffsschrift
Begriffsschrift
Begriffsschrift is a book on logic by Gottlob Frege, published in 1879, and the formal system set out in that book...
of 1879 (dealing with mathematical logic
Mathematical logic
Mathematical logic is a subfield of mathematics with close connections to foundations of mathematics, theoretical computer science and philosophical logic. The field includes both the mathematical study of logic and the applications of formal logic to other areas of mathematics...
).
Quotations
In a lecture in 1957 Zuse mentioned his hope that the Plankalkül "after some time as a Sleeping BeautySleeping Beauty
Sleeping Beauty by Charles Perrault or Little Briar Rose by the Brothers Grimm is a classic fairytale involving a beautiful princess, enchantment, and a handsome prince...
, will yet come to life."
Heinz Rutishauser, one of the founders of ALGOL
ALGOL
ALGOL is a family of imperative computer programming languages originally developed in the mid 1950s which greatly influenced many other languages and became the de facto way algorithms were described in textbooks and academic works for almost the next 30 years...
:
- "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."
See also
- History of programming languagesHistory of programming languagesThis article discusses the major developments in the history of programming languages. For a detailed timeline of events, see the timeline of programming languages.- Before 1940 :The first programming languages predate the modern computer...
- Timeline of programming languagesTimeline of programming languagesThis is a timeline of historically important programming languages.Legend-Pre-1950:-1950s:-1960s:-1970s:-1980s:-1990s:-2000s:- 2010s :-See also:* Programming language* Timeline of computing...
- List of programming languages
External links
- The "Plankalkül" of Konrad Zuse: A Forerunner of Today's Programming Languages by Friedrich L. BauerFriedrich L. BauerFriedrich Ludwig Bauer is a German computer scientist and professor emeritus at Technical University of Munich.-Life:...
- Rojas, RaúlRaúl RojasRaúl Rojas González is a professor of Computer Science and Mathematics at the Free University of Berlin and a renowned specialist in artificial neural networks. The FU-Fighters, football-playing robots he helped build, were world champions in 2004 and 2005...
, et al. (2000). "Plankalkül: The First High-Level Programming Language and its Implementation". Institut für Informatik, Freie Universität Berlin, Technical Report B-3/2000. (full text) - Mauerer, Wolfgang. "Der Plankalkül von Konrad Zuse", 1998.