Планкалкюль

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Планкалкюль
Класс языка:

Процедурный

Появился в:

1948 - concept first published

Автор:

Конрад Цузе

Основные реализации:

Plankalkül-Compiler Свободного университета Берлина в 2000

Испытал влияние:

Begriffsschrift

Повлиял на:

Superplan Хайнца Рутисхаузера

Планкалкюль (нем. Plankalkül — исчисление планов),[1] — первый в мире высокоуровневый язык программирования, созданный немецким инженером Конрадом Цузе в 1943-45 году и впервые опубликованный в 1948 году[источник не указан 150 дней]. В переводе на русский это название соответствует выражению «планирующее исчисление».

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

История написания[править | править вики-текст]

Несмотря на то, что разработка способов программирования проектируемых им вычислительных машин велась изобретателем в военное время, после окончания Второй мировой войны он оказался лишён своей прежней материально-технической базы и, как следствие, возможности осуществления опытно-конструкторских работ, которые он вёл с 1936 г., а с учётом того, что союзническая оккупационная администрация не позволяла проведения каких-либо несанкционированных научно-практических исследований, учёный перешёл к сугубо теоретическим, фундаментальным исследованиям (ФИ). Одним из направлений этих ФИ и стал язык программирования, который был назван его создателем «Планкалкюль».[2]

Технические свойства и возможности[править | править вики-текст]

Набор поддерживаемых функций

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

Сопроводительная документация[править | править вики-текст]

Цузе описал возможности языка Планкалкюль в отдельной брошюре. Там же он описал возможное применение языка для сортировки чисел и выполнения арифметических операций. Кроме того, Цузе составил 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

Обнародование[править | править вики-текст]

Работа в отрыве от других специалистов Европы и США привела к тому, что лишь незначительная часть его работы стала известной. Полностью работа Цузе была издана лишь в 1972 году. И вполне возможно, что если бы язык Планкалкюль стал известен раньше, пути развития компьютерной техники и программирования могли бы измениться.

Применение[править | править вики-текст]

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

Примечания[править | править вики-текст]

  1. Название языка не является формой скрытого воздания почестей Максу Планку, а всего-навсего комбинацией слов "plan" и "kalkül".
  2. Zuse, Konrad. The Plankalkül.  (англ.) — München/Wien: R. Oldenbourg Verlag, 1989. — P.5 — 244 p. — (Berichte der Gesellschaft für Mathematik und Datenverarbeitung; Nr. 175) — ISSN 0533-9480 — ISBN 3-486-21288-5.

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]