コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

プランカルキュール

出典: フリー百科事典『ウィキペディア(Wikipedia)』
パラダイム 手続き型プログラミング
登場時期 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と同じものである。

外部リンク

[編集]

参考文献

[編集]
  • 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.
  • ^ (1945年当時の原稿の全文)
    • 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. (概要)