Тази статия съдържа списък с ползвана литература, препоръчана литература или външни препратки, но източниците ѝ остават неясни, защото липсва конкретно посочване на източници за отделните твърдения. |
Планкалкюл | |
Реализиране през | 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 г. от К. Цузе. Неговите нотации са били добра основа, но езикът така и не получава вниманието, което заслужава“.