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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Шаблон:Язык программирования Планкалькюль (нем. Plankalkül (/{{#if: | ˈplaːnkalkyːl | ˈplaːnkalkyːl }}/) — «запланированные вычисления»Шаблон:Нет АИ) — первый в мире высокоуровневый язык программирования, созданный немецким инженером Конрадом Цузе в 1943—1945 году и впервые опубликованный в 1948 году. Шаблон:Нет АИ 2

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

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

Несмотря на то, что разработка способов программирования проектируемых им вычислительных машин велась изобретателем в военное время, после окончания Второй мировой войны он оказался лишён своей прежней материально-технической базы и, как следствие, возможности осуществления опытно-конструкторских работ, которые он вёл с 1936 года. С учётом того, что союзническая оккупационная администрация не позволяла проведения каких-либо несанкционированных исследований, Цузе перешёл к сугубо теоретическим, фундаментальным исследованиям. Одним из направлений этих исследований и стал язык программирования «Планкалькюль»<ref>Zuse K. The Plankalkül. — München/Wien: R. Oldenbourg Verlag, 1989. — P. 5 — 244 p. — ISBN 3-486-21288-5.</ref>.

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

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

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

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

Синтаксис

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

| A + 1 => A

V| 4 5 S| 1.n 1.n </source> Здесь V — это строка для индексов, S — строка для задания типов данных, 1.n — обозначает целое число размером n бит. Следующий пример показывает программу (в линейной записи), которая вычисляет максимум из трёх переменных вызовом функции max3: <source> 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 </source>

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

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

Применение

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

Примечания

Шаблон:Примечания

Литература

Ссылки