Планкалкюль

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

Процедурный

Появился в:

1948 - concept first published

Автор:

Конрад Цузе

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

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

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

Begriffsschrift

Повлиял на:

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

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

Язык разрабатывался как основное средство для программирования компьютера 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.

Литература

  • Zuse, Konrad (1948/49). «Über den allgemeinen Plankalkül als Mittel zur Formulierung schematisch-kombinativer Aufgaben». Arch. Math. 1, pp. 441–449, 1948/49.
  • Der Plankalkül. / Zuse, Konrad / Gesellschaft für Mathematik und Datenverarbeitung. / BMBW — GMD — 63 — 1972. — Nr.63. (нем.)
  • [csdl.computer.org/comp/mags/an/1997/02/a2017abs.htm Konrad Zuse’s Plankalkül: The First High-Level «non von Neumann» Programming Language.]/ Giloi, Wolfgang, K. // IEEE Annals of the History of Computing, Vol. 19 — 1997. — No.2, (англ.)(недоступная ссылка)
  • [www.zib.de/zuse/Inhalt/Programme/Plankalkuel/Plankalkuel-Report/Plankalkuel-Report.htm Plankalkül: The First High-Level Programming Language and its Implementation / Rojas, Raúl et al.], (англ.)
  • Zuse, Konrad. [www.zib.de/zuse/English_Version/Inhalt/Texte/Chrono/40er/Pdf/0233.pdf «Der Plankalkül». Gesellschaft für Mathematik und Datenverarbeitung.] Nr. 63, BMBW — GMD — 63, 1972. — полный текст рукописи 1945 года (нем.)

Ссылки

  • [lktalks.blogspot.com/2007/06/blog-post_24.html Краткое описание языка]
  • [www.zib.de/zuse/Inhalt/Programme/Plankalkuel/ Берлинский центр информатики им. Конрада Цузе] (нем.)
  • [www.home.unix-ag.org/haupt/plankalkuel.html Список литературы по языку Планкалкюль] (нем.)
  • [irb.cs.tu-berlin.de/~zuse/Konrad_Zuse/plank.html Описание языка Планкалкюль на сайте Хорнста Цузе в Техническом университете г. Берлин]  (англ.)
  • [chernykh.net/content/view/199/211/ Планкалкюль — первый язык программирования высокого уровня]
  • [habrahabr.ru/post/133887/ Первый язык программирования высокого уровня — Планкалкюль]

Отрывок, характеризующий Планкалкюль

– Пари. Le grand cordon, c'est different… [Лента – это другое дело…]
Когда все поднялись, чтоб уезжать, Элен, очень мало говорившая весь вечер, опять обратилась к Борису с просьбой и ласковым, значительным приказанием, чтобы он был у нее во вторник.
– Мне это очень нужно, – сказала она с улыбкой, оглядываясь на Анну Павловну, и Анна Павловна той грустной улыбкой, которая сопровождала ее слова при речи о своей высокой покровительнице, подтвердила желание Элен. Казалось, что в этот вечер из каких то слов, сказанных Борисом о прусском войске, Элен вдруг открыла необходимость видеть его. Она как будто обещала ему, что, когда он приедет во вторник, она объяснит ему эту необходимость.
Приехав во вторник вечером в великолепный салон Элен, Борис не получил ясного объяснения, для чего было ему необходимо приехать. Были другие гости, графиня мало говорила с ним, и только прощаясь, когда он целовал ее руку, она с странным отсутствием улыбки, неожиданно, шопотом, сказала ему: Venez demain diner… le soir. Il faut que vous veniez… Venez. [Приезжайте завтра обедать… вечером. Надо, чтоб вы приехали… Приезжайте.]
В этот свой приезд в Петербург Борис сделался близким человеком в доме графини Безуховой.


Война разгоралась, и театр ее приближался к русским границам. Всюду слышались проклятия врагу рода человеческого Бонапартию; в деревнях собирались ратники и рекруты, и с театра войны приходили разноречивые известия, как всегда ложные и потому различно перетолковываемые.
Жизнь старого князя Болконского, князя Андрея и княжны Марьи во многом изменилась с 1805 года.
В 1806 году старый князь был определен одним из восьми главнокомандующих по ополчению, назначенных тогда по всей России. Старый князь, несмотря на свою старческую слабость, особенно сделавшуюся заметной в тот период времени, когда он считал своего сына убитым, не счел себя вправе отказаться от должности, в которую был определен самим государем, и эта вновь открывшаяся ему деятельность возбудила и укрепила его. Он постоянно бывал в разъездах по трем вверенным ему губерниям; был до педантизма исполнителен в своих обязанностях, строг до жестокости с своими подчиненными, и сам доходил до малейших подробностей дела. Княжна Марья перестала уже брать у своего отца математические уроки, и только по утрам, сопутствуемая кормилицей, с маленьким князем Николаем (как звал его дед) входила в кабинет отца, когда он был дома. Грудной князь Николай жил с кормилицей и няней Савишной на половине покойной княгини, и княжна Марья большую часть дня проводила в детской, заменяя, как умела, мать маленькому племяннику. M lle Bourienne тоже, как казалось, страстно любила мальчика, и княжна Марья, часто лишая себя, уступала своей подруге наслаждение нянчить маленького ангела (как называла она племянника) и играть с ним.
У алтаря лысогорской церкви была часовня над могилой маленькой княгини, и в часовне был поставлен привезенный из Италии мраморный памятник, изображавший ангела, расправившего крылья и готовящегося подняться на небо. У ангела была немного приподнята верхняя губа, как будто он сбирался улыбнуться, и однажды князь Андрей и княжна Марья, выходя из часовни, признались друг другу, что странно, лицо этого ангела напоминало им лицо покойницы. Но что было еще страннее и чего князь Андрей не сказал сестре, было то, что в выражении, которое дал случайно художник лицу ангела, князь Андрей читал те же слова кроткой укоризны, которые он прочел тогда на лице своей мертвой жены: «Ах, зачем вы это со мной сделали?…»
Вскоре после возвращения князя Андрея, старый князь отделил сына и дал ему Богучарово, большое имение, находившееся в 40 верстах от Лысых Гор. Частью по причине тяжелых воспоминаний, связанных с Лысыми Горами, частью потому, что не всегда князь Андрей чувствовал себя в силах переносить характер отца, частью и потому, что ему нужно было уединение, князь Андрей воспользовался Богучаровым, строился там и проводил в нем большую часть времени.
Князь Андрей, после Аустерлицкой кампании, твердо pешил никогда не служить более в военной службе; и когда началась война, и все должны были служить, он, чтобы отделаться от действительной службы, принял должность под начальством отца по сбору ополчения. Старый князь с сыном как бы переменились ролями после кампании 1805 года. Старый князь, возбужденный деятельностью, ожидал всего хорошего от настоящей кампании; князь Андрей, напротив, не участвуя в войне и в тайне души сожалея о том, видел одно дурное.
26 февраля 1807 года, старый князь уехал по округу. Князь Андрей, как и большею частью во время отлучек отца, оставался в Лысых Горах. Маленький Николушка был нездоров уже 4 й день. Кучера, возившие старого князя, вернулись из города и привезли бумаги и письма князю Андрею.
Камердинер с письмами, не застав молодого князя в его кабинете, прошел на половину княжны Марьи; но и там его не было. Камердинеру сказали, что князь пошел в детскую.
– Пожалуйте, ваше сиятельство, Петруша с бумагами пришел, – сказала одна из девушек помощниц няни, обращаясь к князю Андрею, который сидел на маленьком детском стуле и дрожащими руками, хмурясь, капал из стклянки лекарство в рюмку, налитую до половины водой.
– Что такое? – сказал он сердито, и неосторожно дрогнув рукой, перелил из стклянки в рюмку лишнее количество капель. Он выплеснул лекарство из рюмки на пол и опять спросил воды. Девушка подала ему.