Доклад на тему «Трансляторы с Алгола-60»

В 1962 году в СССР разработан первый транслятор для языка высокого уровня. Только в конце 50-х у пользователей советских ЭВМ появилась возможность вводить в свои машины символьную информацию. На начальных этапах все программирование было численным, поскольку устройства ввода могли работать только с числовыми данными. Видимо, поэтому системное программирование для первых отечественных машин развивалось в направлении создания трансляторов, а не автокодов и стандартных подпрограмм.

Написание доклада за 4 часа

В середине 50-х появились так называемые программирующие программы для БЭСМ и «Стрелы» — первый опыт автоматизации программирования в Советском Союзе. Первые школы программирования СССР складывались там, где шла наиболее интенсивная эксплуатация этих «рабочих лошадок» раннего периода отечественной техники, — в ИТМиВТ и в Институте прикладной математики под руководством академика Келдыша (здесь, кстати, в 1954 году была создана система расчета термоядерного взрыва). Благодаря накопленному опыту этим коллективам удалось к 1962 году добиться новых успехов — именно здесь разрабатываются отечественные трансляторы с только что появившегося языка высокого уровня Алгол.

Первая версия Алгола была выпущена в 1958-м. Однако признание и известность получил усовершенствованный вариант языка, Алгол-60, названный так потому, что работа международного коллектива разработчиков над его спецификацией завершилась в 1960 году. Никлаус Вирт назвал Алгол-60 «первым языком, который был ясно определен: его синтаксис задан с помощью строгого формализма». В этом же году стартовали проекты реализации трансляторов для Алгола-60 в СССР: в ИТМиВТ и в ИПМ.

К этому времени основная вычислительная нагрузка в этих организациях с БЭСМ и «Стрелы» перешла на последнюю ламповую машину Лебедева, М–20. Машина выпускалась серийно и завоевала популярность у программистов не столько даже из-за своего быстродействия, сколько благодаря изяществу и удобству. Идейным соавтором Лебедева при разработке М-20 был математик и программист Михаил Романович Шура-Бура, создавший для этой ЭВМ так называемую интерпретирующую систему ИС-2, которая автоматизировала обращение к библиотечным подпрограммам и использовалась всеми появившимися в дальнейшем трансляторами с Алгола для этой машины. Под руководством Шура-Буры коллектив программистов ИПМ начал разработку своего транслятора.

Но первый транслятор с языка Алгол для М-20 был завершен в тех же стенах, где была разработана сама машина, в ИТМиВТ, хотя по времени этот проект был запущен несколько позже проекта ИПМ. Его автор, Святослав Сергеевич Лавров, стремился сделать систему трансляции как можно быстрее и по возможности эффективнее. Поэтому транслятор по версии ИТМиВТ под названием ТА-1 был фактически транслятором с подмножества языка, без рекурсии процедур и с рядом других ограничений.

В ИПМ в начале 60-х работал блестящий коллектив программистов — почти весь первый выпуск специальности «Программирование» кафедры вычислительной математики мехмата МГУ, ученики Алексея Андреевича Ляпунова. Эдуард Зиновьевич Любимский, который вместе с Шура-Бурой руководил разработкой транслятора с Алгола, вспоминает, что, познакомившись с языком, специалисты института поначалу замахнулись на систему автоматизации программирования более высокого уровня, чем Алгол-60. Алгол по удаленности от машинного уровня был аналогичен операторной схеме программы Ляпунова. Однако Шура-Бура настоял на том, чтобы решать более «приземленную» и насущную задачу.

В ИПМ тоже был свой ТА1 — первая, не вполне удачная версия транслятора. Окончательный вариант, ТА2, был завершен несколько позже разработки ИТМиВТ, весной 1963 года, и уже в мае демонстрировался на международной конференции по программированию в Киеве. Это была практически полная реализация языка, и во время показов в Киеве на М-20 транслятор справился с придуманной одним из участников тяжелейшей рекурсией. Любимский рассказал также, что вскоре после завершения разработки авторам ТА2 попал в руки западногерманский журнал с тестовой программой для трансляторов с Алгола-60. Журнал предлагал проверить зрелость транслятора, на какую категорию он потянет: man or boy. В ИПМ прогнали программу и удостоверились в высоком уровне своей разработки.

Первая версия языка, Алгол-58, очень заинтересовала Андрея Петровича Ершова. После окончания мехмата (тот же выпуск Ляпунова) он работал в ИТМиВТ и был автором программирующей программы для БЭСМ. Однако в начале 60-х Ершов — уже в Новосибирске, где формировался новый научный центр, Сибирское отделение АН СССР. Ершова пригласил сюда академик Соболев, о роли которого в развитии вычислительной математики и становлении советского программирования мы уже не раз упоминали. Теперь Соболев возглавил Институт математики СО; организацией отдела программирования в институте занялся Ершов.

Постепенно в Сибири сложилась новая мощная программистская школа. Одним из первых ее ярких результатов стала разработка языка Альфа, явившегося итогом работы Ершова и его коллег над Алголом-58. Ершов развил возможности этого языка, в частности добавил матричные операции, и полученный в конечном итоге язык оказался во многом схож с Алголом-60. Фактически, завершенный в 1961 году язык Альфа — это «расширенное подмножество» Алгола-60, без рекурсий, но с определением многомерных значений и операциями над ними, возможностью инициирования переменных и некоторыми другими нововведениями.

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://www.osp.ru/

 

Средняя оценка 0 / 5. Количество оценок: 0

Поставьте оценку первым.

Сожалеем, что вы поставили низкую оценку!

Позвольте нам стать лучше!

Расскажите, как нам стать лучше?

188

Закажите такую же работу

Не отобразилась форма расчета стоимости? Переходи по ссылке

Не отобразилась форма расчета стоимости? Переходи по ссылке