Немец создавший 1 язык программирования высокого уровня. Интересное в блогах. С фронта в научную лабораторию

Мне всегда казалось, что первым был Фортран, что, в частности отображено и в наверное наиболее известной диаграмме истории языков программирования . На самом деле по влиянию и известности Фортран конечно и был первым. Однако с исторической точки зрения - нет.

[Если быть совсем точным, то уж по настоящему первым языком программирования была, по всей видимости, та нотация, с помощью которой были написаны программы Чарльза Бэббиджа в знаменитой статье Ады Августы Байрон, графини Лавлейс "Sketch Of the Analytical Engine "(статья представляла собой перевод статьи итальянца Менабреа о работе разностной машины Бэббиджа и, содержала существенное дополнение, написанное самой Адой Августой). Однако это был не вполне язык программирования, да и машина, для которой он предназначался существовала только в уме гениального человека. Замечу кстати, что в 1991 году музей науки в Лондоне создал по чертежам Бэббиджа его машину и она сейчас существует в рабочем состоянии ]

Итак, первый язык программирования. Это был вовсе не Фортран, а язык с удивительным названием - Plankalkül, то есть в переводе с немецкого "Исчисление планов" или "План вычислений", был разработан немецким учёным, изобретателем и конструктором Конрадом Цузе в нацистской Германии между 1942 и 1945 годами.

[Цузе также сконструировал несколько различных моделей компьютеров. Например его Z3 тоже был создан раньше знаменитых Marc I и ENIAC и являлся при этом вполне полноценной машиной. ]

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

Создание языка программирования было естественным продолжением работ по созданию "железной" части компьютеров. Сам Цузе пытался с его помощью писать программу для игры в шахматы. Работы над языком были закончены около 1946 года, однако развития язык не получил и даже написанное руководство увидело свет только в 1972 году. Из-за этого язык оказался неизвестным и существенного влияния на дальнейшее развитие индустрии не оказал (в сравнении например с тем же Фортраном).

Тем не менее Plankalkül несомненно был первым в мире языком программирования высокого уровня. Основные концепции языка включают:

  • Наличие подпрограмм (и это в 1940-х годах!!!)
  • Наличие операции присваивания (=>)
  • Циклы
  • Условный оператор (if)
  • Возможность манипуляций с массивами
  • Возможность манипуляций со списками
При создании языка Цузе собрал множество проблем, которые были поставлены инженерами и учёными. Для демонстрации того, что язык действительно способен решать эти проблемы было написано огромное количество примеров программ (в частности около 60 страниц примеров для программы играющей в шахматы).

Одной из проблем языка был чрезвычайно сложный и очень непривычный современному программисту синтаксис. Вот пример присваивания A = A+1 на языке Plankalkül.

Первым реализованным языком компьютерного программирования высокого уровня является Фортран (FORmula TRANslator). Он был создан группой программистов корпорации IBM в период с 1954 по 1957 год. Спустя несколько лет после его создания начались коммерческие продажи Фортрана – до этого осуществлялось либо с помощью машинных кодов, либо символических ассемблеров.

В первую очередь, Фортран получил широкое распространение в научной и инженерной среде, где на нем проводили вычисления.

Одним из основных преимуществ сегодняшнего Фортрана является огромное количество программ и подпрограммных библиотек, написанных на нем. В тысячах пакетов данного языка можно отыскать пакеты для решения сложнейших интегральных уравнений, перемножения матриц и так далее. Данные пакеты создавались в течение многих десятилетий - они не утратили своей актуальности и по сей день. Большинство их библиотек отличаются хорошей документацией, отлаженностью и высокой эффективностью, однако их фортран-код постоянно пытаются автоматически конвертировать в современные программные .

История внедрения Фортрана

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

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

После сногсшибательной успешности Фортрана европейские компании начали опасаться, что IBM начнет лидировать в компьютерной отрасли. Американские и немецкие сообщества создали свои комитеты по разработке универсального программного языка, однако впоследствии они соединились в один комитет. Его специалисты разработали новый язык и назвали его International Algorithmic Language (IAL), но поскольку общеупотребительным названием новинки быстро стал Алгол (ALGOrithmic Language), официальное название IAL комитету пришлось сменить именно на Алгол.

Если вас спросят, какой язык программирования высокого уровня был первым, то вы наверняка скажете, что это Фортран. Я сейчас буду говорить о Фортране? Нет. Значит, вы ответили неправильно? Тоже нет. Всё дело в постановке вопроса...

Какая же подковырка может содержаться в таком, казалось бы, простом вопросе? Дело в том, что в вопросе не уточняется, был ли язык программирования полностью реализован (то есть, для него был создан полноценный рабочий компилятор) или он был просто придуман как концепция. Если спрашивают о том, какой высокоуровневый язык программирования был реализован первым, то здесь правильным ответом и в самом деле будет Фортран. Если же вопрос поставлен о первом придуманном языке программирования, то речь идёт уже не о Фортране, а о Планкалкюле. Вы ничего о нём не слышали? Что ж, думаю, вам будет интересно узнать краткую историю этого языка программирования.

Слово "Планкалкюль" явно имеет немецкие корни, и, действительно, с немецкого это можно перевести как "планирующее исчисление". Немецкое происхождение названия указывает нам на немецкое же происхождение автора языка. Им был Конрад Цузе. Вы наверняка встречали это имя - этот выдающийся немецкий инженер считается создателем одного из первых программируемых компьютеров. Именно для своего компьютера Z4 Конрад Цузе и создал язык программирования Планкалкюль.

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

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

С точки зрения современных реалий программирования, синтаксис Планкалкюль сложно назвать удобным и прозрачным. Впрочем, не стоит подходить к этому языку слишком строго - ведь Цузе создавал его для себя, и, кроме того, тогда не требовалось писать такие программы, как сейчас. Чтобы можно было примерно представить себе синтаксис первого высокоуровневого языка программирования, я приведу пример программы, позаимствованный мною с "Википедии". Она вычисляет максимум трёх чисел:

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 году (его создали в Берлинском университете). Впрочем, всё-таки лучше позже, чем никогда, - ещё в 1957 году Конрад Цузе говорил, что когда-нибудь Планкалкюль, как спящая красавица, оживёт. И, возможно, если бы Планкалкюль стал известен раньше, языки программирования могли бы развиваться в другом направлении. Впрочем, говорят, что история не терпит сослагательного наклонения, а потому Планкалкюль стал тем, чем он стал - первым высокоуровневым языком программирования, намного опередившим своё время.

И когда в следующий раз вас спросят, какой язык программирования был первым, то обязательно уточните: первым придуман или первым реализован? И помните, что хоть реализован первым был Фортран, всё-таки именно Планкалкюль был первым придуманным языком программирования высокого уровня.

Вадим СТАНКЕВИЧ

Кто изобрел компьютер? Однозначного ответа на этот вопрос нет: свой вклад в создание электронной вычислительной машины сделали сразу несколько ученых, работавших по ту и по эту сторону Атлантического океана. Одно можно сказать наверняка: первый программируемый и дествительно работавший компьютер создал немецкий инженер Конрад Цузе (Konrad Zuse). Он же является изобретателем первого языка программирования высокого уровня. 22 июня 2015 года Цузе исполнилось бы 105 лет.

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

Именно в квартире родителей появился на свет прототип компьютера - механический вычислитель с электронным приводом Z1 (Z - первая буква фамилии Цузе в немецком написании). В нем впервые применялась на практике двоичная система счисления, которая легла в основу работы современных компьютеров. Как признался Конрад Цузе несколько десятилетий спустя, к созданию вычислительной машины его подвигла... лень: во время учебы и работы на авиационном заводе его чрезвычайно утомляли бесконечные подсчеты, поэтому он задумался над созданием прибора, способного облегчить жизнь инженеров.

С фронта в научную лабораторию

Изобретение Цузе было далеко от совершенства, устройство постоянно ломалось из-за плохого качества комплектующих. Работу над более совершенной моделью прервала Вторая мировая война. Цузе отправили на фронт, однако всего месяц спустя отозвали: его разработками заинтересовалась военная промышленность "третьего рейха". За Цузе ходатайствовали инженеры и ученые, пользовавшиеся влиянием в окружении Гитлера. В результате 30-летний инженер получил "бронь" и попал в научную элиту, которая должна была ускорить победу гитлеровского режима.

Разработки молодого изобретателя использовались, в частности, для проектирования управляемых ракет. Но в то же время Цузе не прекращал совершенствовать свое главное детище. Фанатичным нацистом он никогда не был. Но не был, конечно, и борцом Сопротивления.

В 1940 году Цузе представил доработанный прототип вычислителя Z2, созданный на основе телефонных реле. Для передачи инструкций Цузе использовал перфорированную 35-миллиметровую кинопленку. Однако настоящий прорыв последовал год спустя, когда появилась модель Z3. Эти большие шкафы весом в тонну и считаются первым функционирующим программируемым компьютером в истории. Z3 работал на основе телефонных реле (общим числом более 2500). Память двоичного вычислителя составляла 64 слова с длиной в 22 бита. Сравните с возможностями обыкновенного современного компьютера!

Контекст

Оригиналы Z1, Z2 и Z3 не дожили до наших дней: они были разрушены во время бомбардировок Берлина в 1945 году. Зато Цузе удалось спасти следующую модель - Z4, работа над которой продолжалась, в общей сложности, шесть лет: с 1944 по 1950 годы. Для Z4, в котором уже использовались вакуумные электронные лампы, Конрад Цузе разработал первый в мире язык программирования высокого уровня Plankalkül (что в переводе с немецкого означает "расчет планов").

Портрет Билла Гейтса

В 1949 году Цузе основал компанию Zuse KG, которая просуществовала до 1967 года. Фирма производила специализированные вычислительные приборы - для оптической промышленности, авиапромышленности, университетских лабораторий. В том числе Z22 - первый компьютер с памятью на магнитных носителях.

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

В 1967 году финансовые проблемы вынудили Конрада Цузе продать свою фирму концерну Siemens. Несколько лет он работал в концерне консультантом, потом постепенно отошел от дел и занялся своим давним хобби - живописью. Цузе написал несколько портретов пионеров компьютерной отрасли, в том числе и своего главного конкурента Билла Гейтса. Незадолго до смерти Конрада Цузе в 1995 году они познакомились в Ганновере, на выставке CeBit. Портрет, подаренный Гейтсу при встрече, до сих пор украшает стены кабинета американского миллиардера, который, наверное, вряд ли разбогател бы без изобретений немецкого инженера Конрада Цузе.

По горизонали:
1. Какой граф стал посредником в сношениях Александра Пушкина с государем? Ответ: Бенкендорф.
5. «Мефистофель Ильи Обломова». Ответ: Штольц.
9. Блеск, наведённый на одежду. Ответ: Люрекс.
10. Имиджевая укладка панков. Ответ: Ирокез.
11. «Книга рекордов Гиннесса» назвала именно ЕГО «самым высокооплачиваемым актёром десятилетия». Ответ: Редклифф.
14. «Талант пророков». Ответ: Ясновидение.
16. «Медовый цех». Ответ: Улей.
18. Самый ходовой музыкальный стиль в аэробике. Ответ: Диско.
19. «Боевой танец» запорожских казаков. Ответ: Гопак.
20. Основная мысль. Ответ: Идея.
23. Футбольный клуб имени героя из «Илиады» Гомера. Ответ: Аякс.
28. Что символизирует прогресс? Ответ: Развитие.
29. К кому едет герой Роберта Паттинсона из фильма «Космополис»? Ответ: Парикмахер.
30. Святые кости. Ответ: Мощи.
31. Кто из наполеоновских маршалов, став шведским королём, повёл армию на французов? Ответ: Бернадот.
32. Чем когда-то был Таллин? Ответ: Ревель.
33. Пожалованное звание. Ответ: Титул.
34. «Жареный …» из бульварной газетёнки. Ответ: Факт.
40. Легенда мирового тенниса, чьи чемпионские трофеи украли в 2010 году. Ответ: Сампрас.
42. Кто из русских критиков покоится рядом с Иваном Тургеневым? Ответ: Белинский.
43. Основа надежды. Ответ: Вера.
44. Химический элемент, биокорректор высшего ранга. Ответ: Селен.
45. «И чтоб никто не догадался, что эта … о тебе». Ответ: Песня.
46. «Пелерина» на горку из подушек. Ответ: Накидка.
47. Шахматный скакун. Ответ: Конь.
48. «Бог новобрачных». Ответ: Гименей.
49. Французский философ, чей мозг от сильного ветра приходил в полное расстройство. Ответ: Дидро.
50. Певица … Арбенина. Ответ: Диана.
51. «Висюли» у плаксы. Ответ: Нюни.
52. Свекольная ботва, идущая на приготовление ботвиньи. Ответ: Баланда.

По вертикали:
1. Московская фабрика, шившая любимые голубые рубашки Леонида Брежнева. Ответ: Большевичка.
2. Жертва вегетарианца. Ответ: Флора.
3. «Не влезай убьёт!» Ответ: Предостережение.
4. Застольная песня на античной пирушке. Ответ: Сколион.
6. Болотный «напалм». Ответ: Торф.
7. Что лучшее в сервисе? Ответ: Люкс.
8. Немец, создавший первый язык программирования высокого уровня. Ответ: Цузе.
10. «Сильнейший из джиннов», упомянутый в Коране. Ответ: Ифрит.
12. Какой игрой увлекался Уинстон Черчилль? Ответ: Безик.
13. Водка «шотландского разлива». Ответ: Виски.
15. Распоясался. Ответ: Хулиган.
17. Морской строитель. Ответ: Корабел.
18. Паломничество в царство Нептуна. Ответ: Дайвинг.
21. «Рогатый табун». Ответ: Стадо.
22. Шампанское желание. Ответ: Мечта.
24. С каким наркомом внутренних дел состоял в закадычной дружбе Максим Горький? Ответ: Ягода.
25. Что убило Триш Данн из романа «Утраченный символ» Дэна Брауна? Ответ: Спирт.
26. «Волшебная эволюция». Ответ: Превращение.
27. Какую многоножку американский писатель Уильям Берроуз в своих романах выставляет «абсолютным злом»? Ответ: Сколопендра.
31. «Продвинутый шаман скачал на … новые мелодии». Ответ: Бубен.
34. Иконка сайта. Ответ: Фавикон.
35. Кто у Льва Толстого стал рогоносцем из-за Вронского? Ответ: Каренин.
36. Самый низкий голос. Ответ: Бас.
37. С какой горой Библия связывает обретение Десяти заповедей? Ответ: Синай.
38. Из каких таблеток создали шокирующее ожерелье Луи Арагон и Эльза Триоле? Ответ: Аспирин.
39. Кто из английских классиков злодеев в своих книгах писал с самого себя? Ответ: Диккенс.
41. Оружие из пушкинской «Песни о вещем Олеге». Ответ: Секира.
42. Процесс взятия интервью. Ответ: Беседа.
46. Самая редкая оценка успеваемости у студента из ботаников. Ответ: Неуд.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: