Планкалкюл

от Уикипедия, свободната енциклопедия
Планкалкюл
Реализиране през1948 г., концепция
Софтуерен разработчикКонрад Цузе
ПовлияваALGOL 58,

Планкалкюл (на немски: Plankalkül) е програмен език, създаден от Конрад Цузе между 1943 г. и 1945 г. Той е проектиран за научни изследвания. Нещо повече – това е първият език на високо ниво за компютър, който не използва технологията на фон Нойман. Запазени са бележки, които показват, че идея за подобна разработка датира още от 1941 г. Паланкалкюл не е бил обявен публично по това време заради редица фактори, включително военното време и усилията на Цузе да популяризира Z3 и всички негови наследници. През 1944 г. Цузе се среща с германския философ и специалист по логика Хайнрих Шолц (Heinrich Scholz). Двамата дискутират Планкалкюл. През март 1945 г. Шолц изявил силна подкрепа за логическото смятане на езика.

През 1946 г. Цузе написва книга за Планкалкюл, но тя остава неиздадена. През 1946 г. Цузе публикува научен труд, посветен на Планкалкюл в „Archiv der Mathematik“ – сборник от проучвания и изследвания в областта на математиката. Не успява да привлече общественото внимание към езика. Към 1972 г. обаче Планкалкюл набира популярност. Първият компилатор е реализиран от Жоачим Хоуман в негова дисертация. Други независими реализации са създадени през 1998 г. и през 2000 г. от Свободния университет на Берлин.

Описание[редактиране | редактиране на кода]

По онова време Планкалкюл е бил сравняван с APL и рационалната математика. Включва присвояващи конструкции, условни конструкции, цикли, изчисления с плаваща запетая, масиви, прихващане на изключения и други по-сложни идеи, като целенасочено изпълнение (goal-directed execution). Планкалкюл използва структури от данни, наречени графи. Те са служели за описанието на геометрични структури.

Терминология[редактиране | редактиране на кода]

Цузе кръщава всички програми, създадени на Планкалкюл, Rechenplan. През 1944 г. той вече си е представял устройство, наречено „Planfertigungsgerät“. То е трябвало да може да чете всички математически формули и да ги записва като дупки във филм (филмова лента).

Пример[редактиране | редактиране на кода]

Оригиналната система е ползвала двуизмерна нотация. При първата си реализация през 90-те е създадена и линейна нотация.

Пример за линейна нотация, написана на Планкалкюл, която намира най-голямата променлива между три числа:

 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

Цитати[редактиране | редактиране на кода]

По време на лекция през 1957 г. Цузе казва, че „след време тази спяща красавица ще се събуди от своя сън“.

Хайнц Рутисхаузер (Heinz Rutishauser), един от създателите на ALGOL: “Първият опит да се създаде алгоритмичен език е през 1948 г. от К. Цузе. Неговите нотации са били добра основа, но езикът така и не получава вниманието, което заслужава“.

Вижте също[редактиране | редактиране на кода]

Източници[редактиране | редактиране на кода]

  • Rojas, Raúl; Hashagen, Ulf (2002). The First Computers: History and Architectures. MIT Press. p. 292. ISBN 978-0-262-68137-7. Посетен на 25 октомври 2013.
  • Hartmut Petzold,Moderne Rechenkünstler. Die Industrialisierung der Rechentechnik in Deutschland. München. C.H. Beck Verlag 1992
  1. Joachim Hohmann: Der Plankalkül im Vergleich mit algorithmischen Sprachen. Reihe Informatik und Operations Research, S. Toeche-Mittler Verlag, Darmstadt 1979, ISBN 3-87820-028-5.
  2. Prof. Wolfgang Giloi: Konrad Zuses Plankalkül als Vorläufer moderner Programmiermodelle, November 1990
  3. Hellige, Hans Dieter, Geschichten der Informatik. Visionen, Paradigmen, Leitmotive. Berlin, Springer 2004, ISBN 3-540-00217-0. pp. 45, 104, 105
  • Zuse, Konrad (1943), „Ansätze einer Theorie des allgemeinen Rechnens unter besonderer Berücksichtigung des Aussagenkalküls und dessen Anwendung auf Relaisschaltungen“, (i.e. Inception of a universal theory of computation with special consideration of the propositional calculus and its application to relay circuits.) 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. (abstract)