Каким должен быть язык программирования? Анализ и критика Описание языка Компилятор
Отечественные разработки Cтатьи на компьютерные темы Компьютерный юмор Новости и прочее

Экскурс в историю разработок языков программирования и компиляторов в СССР

Разработка языков программирования и компиляторов в России и бывшем СССР

Оригинальные разработки

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

Программирующая Программа

            Первым в мире транслятором языка высокого уровня является ПП (Программирующая Программа), он же ПП-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

ОценитеОценки посетителей
   ███████████████████████████████ 25 (73.5%)
   ████ 3 (8.82%)
   ████████ 6 (17.6%)
   ▌ 0

Отзывы

     2014/03/18 18:02, Noname          # 

Для включения в список ссылок: Язык Форт в СССР и России

     2014/03/18 18:11, Noname          # 

ДССП (DSSP) диалоговая система структурного программирования (МГУ), и ещё.

Добавить свой отзыв

Написать автору можно на электронную почту
mail(аt)compiler.su

Авторизация

Регистрация

Выслать пароль

Карта сайта


Содержание

Каким должен быть язык программирования?

Анализ и критика

Описание языка

Компилятор

Отечественные разработки

●  Отечественные компании-разработчики компиляторов

●  Энтузиасты-разработчики компиляторов и их проекты

●  Ресурсы, посвящённые созданию языков программирования и компиляторов

●  Экскурс в историю разработок языков программирования и компиляторов в СССР

Cтатьи на компьютерные темы

Компьютерный юмор

Новости и прочее




Последние отзывы

2024/04/23 15:57 ••• Ivan
Энтузиасты-разработчики компиляторов и их проекты

2024/04/23 00:00 ••• alextretyak
Признаки устаревшего языка

2024/04/21 00:00 ••• alextretyak
Постфиксные инкремент и декремент

2024/04/20 21:28 ••• Бурановский дедушка
Русский язык и программирование

2024/04/07 15:33 ••• MihalNik
Все языки эквивалентны. Но некоторые из них эквивалентнее других

2024/04/01 23:39 ••• Бурановский дедушка
Новости и прочее

2024/04/01 23:32 ••• Бурановский дедушка
Русской операционной системой должна стать ReactOS

2024/03/22 20:41 ••• void
Раскрутка компилятора

2024/03/20 19:54 ••• kt
О многократном резервировании функций

2024/03/20 13:13 ••• Неслучайный читатель
Надёжные программы из ненадёжных компонентов

2024/03/07 14:16 ••• Неслучайный читатель
«Двухмерный» синтаксис Python

2024/03/03 16:49 ••• Автор сайта
О неправомерном доступе к памяти через указатели

2024/02/28 18:59 ••• Вежливый Лис
Про лебедей, раков и щук