Планкалкюль

Материал из Википедии — свободной энциклопедии
Планкалкюль
Класс языка Процедурный
Появился в
1948
Автор Конрад Цузе
Основные реализации Plankalkül-Compiler (Свободного университета Берлина, 2000)
Испытал влияние Begriffsschrift
Повлиял на Superplan Хайнца Рутисхаузера
Логотип Викисклада Медиафайлы на Викискладе

Планкалкюль (

Конрадом Цузе
в 1943—1945 году и впервые опубликованный в 1948 году. Прямой перевод названия как «запланированные вычисления» соответствует понятию «программирование».

Язык разрабатывался как основное средство для программирования

Z4, однако был пригоден и для работы с другими похожими на него вычислительными машинами
.

История написания

Несмотря на то, что разработка способов программирования проектируемых им вычислительных машин велась изобретателем в военное время, после окончания

фундаментальным исследованиям. Одним из направлений этих исследований и стал язык программирования «Планкалкюль»[3]
.

Технические свойства и возможности

Планкалкюль поддерживал операции назначения, вызов

массивы, иерархические структуры данных, утверждения, обработку исключений и многие другие вполне современные средства языков программирования
.

Сопроводительная документация

Цузе описал возможности языка Планкалкюль в отдельной брошюре. Там же он описал возможное применение языка для сортировки чисел и выполнения

арифметических операций. Кроме того, Цузе составил 49 страниц программ на Планкалкюле для оценки шахматных
позиций. Позже он писал, что ему было интересно проверить эффективность и универсальность Планкалкюля в отношении шахматных задач.

Синтаксис

Оригинальная нотация была двумерной. Для первой реализации в 1990-х была разработана линейная нотация. Вот пример присваивания A[5] = A[4]+1

 | A + 1 => A
V| 4        5
S| 1.n      1.n

Здесь V — это строка для индексов, S — строка для задания типов данных, 1.n — обозначает целое число размером n бит. Следующий пример показывает программу (в линейной записи), которая вычисляет максимум из трёх переменных вызовом функции max3:

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

Обнародование

Работа в отрыве от других специалистов

мог измениться.

Применение

Цузе не создал каких-либо программно-аппаратных средств под реализацию разработанного им языка. Первый компилятор языка «Планкалкюль» (для современных компьютеров) был создан в Свободном университете Берлина в 2000 году, через пять лет после смерти Цузе.

Примечания

  1. Перевод слова Plankalkül
  2. Название языка составлено из слов «plan» и «kalkül» и не имеет отношения к Максу Планку.
  3. Zuse K. The Plankalkül. — München/Wien: R. Oldenbourg Verlag, 1989. — P. 5 — 244 p. — ISBN 3-486-21288-5.

Литература

Ссылки