Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Планкалкюль – первый язык программирования Печать
Методы программирования первых в мире универсальных компьютеров были так же примитивны, как и сами машины. Исторический «Марк-1», созданный во время второй мировой войны в Гарвардском университете, представлял собой пятитонную конструкцию длиной около 15 м, состоящую из реле, осей, шестеренок и циферблатов.

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

Более совершенная машина «Эниак» была построена в 1945 г. в Высшем техническом училище Пенсильванского университета. В отличие от электромеханического «Марка-1» «Эниак» был полностью электронным, но все еще чрезвычайно сложным в программировании. Поскольку война требовала быстрейшего завершения работ, основные разработчики компьютера, физик Джон Мочли и инженер Проспер Экерт, сосредоточили все внимание на аппаратуре, а программирование оказалось на последнем месте.

«Эниак» не имел даже устройства ввода команд с бумажной ленты. Для подготовки машины к работе приходилось вручную устанавливать тысячи переключателей и втыкать сотни штекеров в гнезда контактной панели, которая в результате становилась похожей на комок спагетти. Не удивительно, что пользователи «Эниака» старались выжать все из каждой набранной программной конфигурации, прежде чем приступить к ее изменению.

Эти первые эксперименты в программировании отчетливо показали, что для полного раскрытия возможностей компьютеров нужны более совершенные средства связи с машиной. Пока на машине «Эниак» с большим трудом выполнялись первые вычисления, кое-где уже появились перспективные работы по языкам более высокого уровня. Но лишь через много лет эти результаты увидели свет; об одном таком случае мы и расскажем далее.

Планирующее исчисление

Весной 1945 г. мир вокруг Конрада Цузе начал рушиться: кольцо войск союзников сжималось вокруг Берлина, где жил молодой немецкий инженер. Еще перед войной он занялся разработкой серии сравнительно небольших универсальных компьютеров, превратив в лабораторию одну из комнат в доме родителей.

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

Незадолго до падения Берлина Цузе погрузил свой единственный оставшийся компьютер Z4 на телегу и с колонной других беженцев отправился в маленький городок в Баварских Альпах.

В тяжелые послевоенные годы Цузе, не имея ни средств, ни возможности продолжать работу непосредственно над компьютером, направил всю свою энергию на развитие теории.

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

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

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

Не рассчитывая увидеть свой язык реализованным на компьютере, он отмечал: «Планкалкюль родился исключительно как результат теоретической работы, без всякой связи с тем, появятся или нет в обозримом будущем машины, подходящие к программам на Планкалкюле».

Хотя в конце 40-х годов Цузе и посетил США, лишь незначительная часть его работы была опубликована и еще меньше было осуществлено в послевоенное десятилетие. Многие идеи систематического логического языка остались неизвестными целому поколению специалистов по компьютерной лингвистике.

Только в 1972 г. работа Цузе была издана целиком. Эта публикация заставила специалистов задуматься над тем, какое влияние мог бы оказать Планкалкюль, будь он широко известен раньше. «Видимо, все могло бы обернуться совсем иначе, и мы живем не в лучшем из миров»,- заметил по этому поводу один из ученых, критикуя возникшие позднее языки.

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

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