プランカルキュール
パラダイム | 手続き型プログラミング |
---|---|
登場時期 | 1948年(発表のみ) |
設計者 | コンラート・ツーゼ |
開発者 | コンラート・ツーゼ |
主な処理系 | Plankalkül-Compiler (ベルリン自由大学 2000年) |
影響を受けた言語 | 『概念記法』 |
影響を与えた言語 | Superplan |
プランカルキュール(独: Plankalkül、英: Plan Calculus)はコンラート・ツーゼが研究目的で考案したプログラミング言語。世界初の非ノイマン型高級言語として1942年から1945年にかけて設計された。1941年に記述されたこの言語に関するメモが現在も残されている。
プランカルキュールは第二次世界大戦や戦後の混乱期が重なり、また彼自身も計算機Z3を商業化するのに忙しかったため公には発表されなかった。ツーゼは1946年にこの言語に関する書籍[1]を執筆したが発行されなかった。ツーゼは1948年に"Archiv der Mathematik"というタイトルでプランカルキュールについての論文を発表したが反響はほとんどなく、長年にわたりマシン語でなければコンピュータのプログラムは作成できないと考えられていた。
1972年になってようやくプランカルキュールが発表され、1998年に最初のコンパイラが開発された。また後になってこれとは別に、ベルリン自由大学で2000年に全く新しい実装が開発された。
ドイツ語のKalkülという単語は形式的を意味する。例えばヒルベルト演繹系は元々は"Hilbert-Kalkül"である。従ってプランカルキュールは「設計のための形式的システム」という意味である。
解説
[編集]プランカルキュールはAPLと関係代数の類似性を示している。代入文、サブルーチン、条件文、ループ、浮動小数点演算、配列、階層構造を持つ構造体、アサート、例外処理、目的指向型実行(goal-directed execution)などのような先進的な機能がある。
max関数を用いて3つの値の最大値を求めるプログラムの例:
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
プランカルキュールは複数の行を用いた特殊な表記法を持つ。これはゴットロープ・フレーゲが1879年に開発した数理論理学用のBegriffsschriftと同じものである。
外部リンク
[編集]- 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. (全文)
- Mauerer, Wolfgang. "Der Plankalkül von Konrad Zuse", 1998.
参考文献
[編集]- 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. (概要)