Планкалкюль
Планкалкюль | |
---|---|
Класс языка | Процедурный |
Появился в | 1948 |
Автор | Конрад Цузе |
Основные реализации | Plankalkül-Compiler (Свободного университета Берлина, 2000) |
Испытал влияние | Begriffsschrift |
Повлиял на | Superplan Хайнца Рутисхаузера |
![]() |
Планкалкюль (нем. Plankalkül — «запланированные вычисления»[1][2] — первый в мире высокоуровневый язык программирования, созданный немецким инженером Конрадом Цузе в 1943—1945 году и впервые опубликованный в 1948 году. Прямой перевод названия как «запланированные вычисления» соответствует понятию «программирование».
Язык разрабатывался как основное средство для программирования компьютера Z4, однако был пригоден и для работы с другими похожими на него вычислительными машинами.
История написания
[править | править код]Несмотря на то, что разработка способов программирования проектируемых им вычислительных машин велась изобретателем в военное время, после окончания Второй мировой войны он оказался лишён своей прежней материально-технической базы и, как следствие, возможности осуществления опытно-конструкторских работ, которые он вёл с 1936 года. С учётом того, что союзническая оккупационная администрация не позволяла проведения каких-либо несанкционированных исследований, Цузе перешёл к сугубо теоретическим, фундаментальным исследованиям. Одним из направлений этих исследований и стал язык программирования «Планкалкюль»[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
Обнародование
[править | править код]Работа в отрыве от других специалистов Европы и США привела к тому, что лишь незначительная часть исследований Цузе стала известной. Полностью его работа была издана лишь в 1972 году. Если бы язык «Планкалкюль» стал известен раньше, путь развития компьютерной техники и программирования мог измениться.
Применение
[править | править код]Цузе не создал каких-либо программно-аппаратных средств под реализацию разработанного им языка. Первый компилятор языка «Планкалкюль» (для современных компьютеров) был создан в Свободном университете Берлина в 2000 году, через пять лет после смерти Цузе.
Примечания
[править | править код]- ↑ Перевод слова Plankalkül
- ↑ Название языка составлено из слов «plan» и «kalkül» и не имеет отношения к Максу Планку.
- ↑ Zuse K. The Plankalkül. — München/Wien: R. Oldenbourg Verlag, 1989. — P. 5 — 244 p. — ISBN 3-486-21288-5.
Литература
[править | править код]- Zuse K. Über den allgemeinen Plankalkül als Mittel zur Formulierung schematisch-kombinativer Aufgaben // Arch. Math. — 1948. — Vol. 1. — S. 441—449. — DOI: 10.1007/BF02038459.
- Zuse K. Der Plankalkül // Berichte der Gesellschaft für Mathematik und Datenverarbeitung, № 63. — Bonn: Gesellschaft für Mathematik und Datenverarbeitung, 1972. — 285 S.
- Giloi W. K. Konrad Zuse’s Plankalkül. The First High-Level, «non von Neumann» Programming Language // IEEE Annals of the History of Computing. — 1997. — Vol. 19 — № 2. — P. 17—24. — DOI: 10.1109/85.586068.
- Rojas R. et al. Plankalkül: The First High-Level Programming Language and its Implementation // Technical Report B-3/2000. — February 2000.
Ссылки
[править | править код]- Краткое описание языка
- Берлинский центр информатики им. Конрада Цузе (нем.)
- Список литературы по языку Планкалкюль (нем.)
- Описание языка Планкалкюль на сайте Хорнста Цузе в Техническом университете г. Берлин (англ.)
- Планкалкюль — первый язык программирования высокого уровня
- Первый язык программирования высокого уровня — Планкалкюль