Referat.me

Название: Трансляторы с Алгола-60

Вид работы: доклад

Рубрика: История техники

Размер файла: 15.34 Kb

Скачать файл: referat.me-166578.docx

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

Трансляторы с Алгола-60

Наталия Дубова

В 1962 году в СССР разработан первый транслятор для языка высокого уровня

Только в конце 50-х у пользователей советских ЭВМ появилась возможность вводить в свои машины символьную информацию. На начальных этапах все программирование было численным, поскольку устройства ввода могли работать только с числовыми данными. Видимо, поэтому системное программирование для первых отечественных машин развивалось в направлении создания трансляторов, а не автокодов и стандартных подпрограмм. В середине 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, без рекурсий, но с определением многомерных значений и операциями над ними, возможностью инициирования переменных и некоторыми другими нововведениями.

Похожие работы

  • Описания компьютеpов с нетpадиционной аpхитектуpой (70-е и 80-е годы)

    Denelcor HEP, C.mpp, PASM, PRINGLE, lCAP, CEDAR, STARAN, PEPE, PRIME

  • «Лексикон» в коробке

    Появившийся еще на заре перестройки и рынка, в 1985 году, первый и долгое время остававшийся единственным, русскоязычный процессор для MS-DOS был чрезвычайно популярен у растущей армии пользователей IBM-совместимых персональных компьютеров.

  • Выход в большой сетевой мир

    Летом 1990 года начала действовать общедоступная компьютерная сеть Relcom. Поначалу это была небольшая по масштабам сеть, объединившая разработчиков и пользователей отечественных Unix-систем.

  • Первый советский ПК

    В 1982 году появилась на свет первая советская персональная ЭВМ «Агат». «Агат» устанавливали в первых школьных компьютерных классах, и на нем ребята осваивали азы информатики и ВТ.

  • Быстродействующая Электронная Счетная Машина

    В начале 50-х годов появились первые советские электронные вычислительные машины, созданием которых руководили, главным образом, специалисты в области электротехники и радиоэлектроники.

  • «Умный» МИР

    Может ли машина обладать собственным разумом, а не только слепо выполнять предписания человека? Что стоит за терминами «думающий компьютер», «искусственный интеллект»?

  • Аппаратура сопряжения

    В начале 70-х БЭСМ-6 оставалась самой быстрой универсальной машиной в Союзе. Но этот мощный вычислитель был лишен возможности принимать и передавать данные по обычным линиям связи.

  • Минский феномен

    Вторая машина серии «Минск» — первая универсальная советская ЭВМ второго поколения, то есть машина на полупроводниках, была предназначена для решения общих научных и инженерных задач.

  • БЭСМ-6

    Две шестерки этого года ассоциируются с легендарной шестеркой советского компьютеростроения — БЭСМ-6. К концу 1966 года разработка машины в стенах ИТМиВТ была завершена.

  • Зенит

    В 1964 году появилось сразу несколько интереснейших машин. Середина 60-х в СССР — расцвет полупроводниковой вычислительной техники во всем ее многообразии.