Экскурс в историю разработок языков программирования и компиляторов в СССР
Оригинальные разработки
К великому сожалению, отечественный след в
истории кибернетики значительно скромнее, чем бы он мог быть.
Особенно это касается языков программирования.
Единственный отечественный язык программирования, получивший общемировую известность, это язык Рефал.
Однако распространённость этого языка весьма и весьма мала. Итак,
Программирующая Программа
Первым в мире транслятором языка высокого уровня является ПП (Программирующая Программа),
он же ПП-1, успешно испытанный в 1954 г.
Транслятор ПП-2 (1955 г., 4-й в мире транслятор) уже был оптимизирующим и
содержал собственный загрузчик и отладчик, библиотеку стандартных процедур.
Язык программирования Рефал
Первая версия РЕФАЛа была создана в 1966 году Валентином Турчиным в качестве метаязыка для описания семантики других языков.
Впоследствии, в результате появления достаточно эффективных реализаций на ЭВМ,
он стал находить практическое использование в качестве языка программирования.
В настоящее время основными диалектами языка являются
РЕФАЛ-2 (1970-е), РЕФАЛ-5 (1985) и РЕФАЛ+ (1990),
отличающиеся друг от друга деталями синтаксиса и набором
дополнительных средств, расширяющих первоначальный вариант.
Ссылки:
Язык программирования Алмо
Язык системного программирования (машинно-ориентированный язык), задумывался как язык-посредник при трансляции с различных языков.
Идея состояла в том, что для каждой аппаратной платформы достаточно было написать транслятор Алмо — и ты уже можешь работать с множеством
языков программирования, которые имели трансляцию в Алмо.
Были созданы реализации языка для основных отечественных машин того времени
(М-20, БЭСМ-6, Минск 2, Урал 11) и трансляторы с Алгола-60 и ФОРТРАНа в Алмо,
причем все трансляторы также были написаны на Алмо и “раскручены” на всех этих машинах.
Система программирования Сигма
Г. Г. Степанов:
...название языка — Сигма — неожиданно очень удачно стало соответствовать сути разработанного языка,
которую можно описать как «Символьный Генератор и Макроассемблер».
Всего в истории языка Сигма было три его реализации: на М-20, на БЭСМ-б и на самом языке Сигма.
Первая, конечно самая памятная, т.к. это была мол первая работа в области системного программирования (да и вообще первая работа).
Вторая была выполнена на лучшей, по моему мнению, отечественной машине БЭСМ-6.
Третья опиралась на вторую, была раскручена сама через себя и могла генерировать программы как для БЭСМ-6, так и для СМ-4 и ЕС ЭВМ.
Универсальный машинно-ориентированный язык программирования Эпсилон
А. Ф. Рар:
Заявленной целью разработчиков языка было предоставить удобный рабочий инструмент системным программистам...
Мы стремились достичь разумного компромисса между такими требованиями, как простота и
удобство языковых средств, простота трансляции и возможность получения эффективной программы...
Отладка эта состояла в классической раскрутке ( bootstrapping ):
Эпсилон-текст транслятора я пропускал через написанный вручную Эпсилон-транслятор,
а получившийся новый транслятор проверял на нормальных Эпсилон-программах.
Раскрутка эта дала заодно ответ на ... вопрос:
«[насколько] программы, полученные путем Эпсилон-трансляции, проигрывают по сравнению с программами, написанными вручную?»
Оказалось ... всего в 1,35 раза.
Система программирования Бета
Центральным звеном проекта БЕТА был Внутренний язык, который должен был стать
единым языком-посредником в БЕТА-системе
«наибольшим общим делителем» входных языков и «наименьшим общим кратным» выходных машин.
Кроме этой своей роли промежуточного языка, позволяющего уменьшить число путей
в схеме m -языковой n -машинной трансляции с m * n до m + n ,
внутренний язык должен был также явиться средой оптимизирующих преобразований,
т.е. он ещё должен был быть достаточно богат, чтобы на нем было возможно
представить результаты оптимизации; например, экономию совпадающих подвыражений в операторе
a [ i , j , k ] := b [ i , j , k ] + c [ i , j , k ].
В итоге система БЕТА была реализована для языков Симула-67, Паскаль, Модула-2, Ада
(подмножество) и выходных машин БЭСМ6 и СМ-4.
Был реализован скромный набор оптимизаций — несмотря на обширные замыслы, более скромный, чем в системе Альфа.
В общем, сравнительно с Альфа-системой, проект БЕТА следует признать неудачным.
Язык программирования Аналитик
Язык программирования разработанный в 1968г. в Институте кибернетики АН УССР под руководством академика В.М. Глушкова.
Отличительной чертой языка являются абстрактные типы данных, вычисления в произвольных алгебрах, аналитические преобразования.
Был реализован на машинах МИР-2.
Позднее была разработана версия Аналитик-74, реализованная на машинах МИР-3.
В настоящее время на родине этого языка предпринимается попытка его возродить: появилась версия языка
Аналитик-2007.
Автокод МВК «Эльбрус» Эль-76
Этот язык, первоначально названный «автокод Эльбрус», затем был переименован в «Эль-76».
Несмотря на то, что Эль-76 является языком достаточно высокого уровня, есть основание называть его «автокодом».
Дело в том, что «Эльбрус» просто не имел языка более низкого уровня, т.е. «ассемблера».
Т.е. язык минимального уровня «Эльбрус» — это Эль-76, остальные языки уже строились над ним.
Это — замечательная иллюстрация высокого научного и инженерного уровня отечественных ИТ в то время.
У этого языка почва из-под ног ушла позже остальных разработок,
т.к. «Эльбрус» ещё некоторое время применялся в «оборонке».
ЯРМО (Язык Реализации, Машинно-Ориентированный)
Машинно-ориентированный язык программирования, построенный для ЭВМ БЭСМ-6 и отражающий все тогдашние веяния в информатике.
Язык программирования ЯРМО разработан в 1973 году в Новосибирском филиале ИТМиВТ. Впоследствии было разработано несколько версий языка.
На нём в 1977 году была создана операционная система «Феликс» для СВС — первая в стране ОС на языке высокого уровня.
Другие разработки
Конечно, история создания языков программирования в нашей стране не исчерпывается перечисленным.
Если полистать подшивки журнала «Программирование», то можно найти много интересных разработок.
Все эти языки на сегодняшний день можно считать «мёртвыми».
Эти языки уходили вместе с техникой, в которой они «жили».
Сперва умерла линия отечественной вычислительной техники, уступая место ЕС ЭВМ — клонам IBM/360/370.
Затем настала очередь самих ЕС ЭВМ.
С наступлением эры PC практически все оригинальные отечественные разработки закончили свою жизнь.
В то время как «старые» зарубежные Fortran, Lisp, Cobol, C, Forth, Pascal до сих пор в ходу.
Исключением из этого правила являются язык Рефал, который ещё можно найти в
первой сотне рейтинга языков программирования, да Аналитик (есть компилятор для этого языка под Wintel;
но это, скорее, теоретическая возможность пользоваться этим языком, а не практическая ценность).
Разработка компиляторов языков, разработанных за рубежом
Отечественные учёные и инженеры принимали участие в работе
международных комитетов по языкам, например Algol-68.
Но большинство языков было разработано и без их участия, начиная от Fortran и кончая Ada.
Производимые в СССР ЕС ЭВМ уже имели в комплекте компиляторы PL/I, Fortran, Cobol от IBM —
либо «цельнотянутые», либо минимально доработанные.
Ту же участь постигло ПО, которое шло с СМ ЭВМ, клоном компьютеров DEC.
Однако разработка трансляторов для отечественной вычислительной техники всё же велась.
Во-первых, не вся техника была «содрана»: это и упомянутые «Эльбрусы»,
вычислительная техника для военного применения (например, ЭВМ серии «5Э»), «Мир-2» и другие.
Для них нужны были трансляторы языков высокого уровня.
Ведь это для ЕС ЭВМ трансляторы шли «в комплекте», прямиком из IBM,
а для перечисленной техники их не существовало.
Во-вторых, IBM не делала трансляторов языков типа Algol-68 и Ada для IBM/360/370,
следовательно, их не существовало и для ЕС ЭВМ.
Наверно, самая значительная отечественная разработка в этой области — Algol-68 Ленинградского университета.
Вот перечень трансляторов «сделано в СССР» (наверняка неполный):
-
Ada
-
Algol-60
-
Algol-68
-
C
-
CLU
-
Forth
-
Fortran (для Эльбрусов сделали 2 компилятора)
-
Lisp
-
Modula-2
-
Pascal
-
PL/I
-
SETL
-
Simula-67
-
Snobol-4
Что ещё почитать на эту тему
Опубликовано: 2012.09.25, последняя правка: 2023.05.02 22:58
Отзывы
✅ 2014/03/18 18:02, Noname #0
Для включения в список ссылок: Язык Форт в СССР и России✅ 2014/03/18 18:11, Noname #1
ДССП (DSSP) диалоговая система структурного программирования (МГУ), и ещё. Добавить свой отзыв
Написать автору можно на электронную почту mail(аt)compiler.su
|