- Plankalkül
Infobox programming language
name = Plankalkül
paradigm = procedural
year = concept first published in 1948
designer =Konrad Zuse
latest release version =C99
latest release date =March 2000
implementations = "Plankalkül-Compiler" by the FU Berlin in 2000
influenced_by =Begriffsschrift
influenced =Superplan byHeinz Rutishauser Plankalkül (IPA2|ˈplaːn.kal.kyːl, German, "Plan Calculus") is a
computer language developed for engineering purposes byKonrad Zuse . It was the first high-level non-von Neumannprogramming 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 [ [http://www.zib.de/zuse/English_Version/Inhalt/Texte/Chrono/40er/Pdf/0233.pdf (full text of the 1945 manuscript)] ] 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 theFree University of Berlin .
The German term "Kalkül" meansformal system – theHilbert-style deduction system is for example originally called "Hilbert-Kalkül", so Plankalkül means "formal system for planning".Description
Plankalkül drew comparisons to APL 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 asgoal-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 withmathematical logic ).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 ::"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."ee also
*
Timeline of programming languages
*List of programming languages External links
* [http://delivery.acm.org/10.1145/370000/361515/p678-bauer.pdf?key1=361515&key2=3342588511&coll=&dl=acm&CFID=15151515&CFTOKEN=6184618 The "Plankalkül" of Konrad Zuse: A Forerunner of Today's Programming Languages] by
Friedrich L. Bauer
* Rojas, Raúl, 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. [http://www.zib.de/zuse/Inhalt/Programme/Plankalkuel/Plankalkuel-Report/Plankalkuel-Report.htm (full text)]
* Mauerer, Wolfgang. [http://projekte.mynetix.de/mauerer/pk/pk.ps "Der Plankalkül von Konrad Zuse"] , 1998.References
* Zuse, Konrad (1943), "Ansätze einer Theorie des allgemeinen Rechnens unter besonderer Berücksichtigung des Aussagenkalküls und dessen Anwendung auf Relaisschaltungen", unpublished manuscript, Zuse Papers 045/018.
* Zuse, Konrad (1948/49). "Über den allgemeinen Plankalkül als Mittel zur Formulierung schematisch-kombinativer Aufgaben". Arch. Math. 1, pp. 441-449, 1948/49.
*Zuse, Konrad (1972). "Der Plankalkül". Gesellschaft für Mathematik und Datenverarbeitung. Nr. 63, BMBW - GMD - 63, 1972.
* Giloi, Wolfgang, K. (1997). "Konrad Zuse's Plankalkül: The First High-Level "non von Neumann" Programming Language". IEEE Annals of the History of Computing, vol. 19, no. 2, pp. 17-24, April-June, 1997. [http://doi.ieeecomputersociety.org/10.1109/85.586068 (abstract)]
Wikimedia Foundation. 2010.