Екскурс в історію розробок мов програмування і компіляторів в СРСР

  1. Программирующая Програма
  2. Універсальний машинно-орієнтована мова програмування Епсілон
  3. Система програмування Бета
  4. Мова програмування Аналітик
  5. Автокод МВК «Ельбрус» Ель-76
  6. Відгуки

оригінальні розробки

На превеликий жаль, вітчизняний слід в історії кібернетики значно скромніше, ніж би він міг бути. Особливо це стосується мов програмування. Єдиний вітчизняний мову програмування, який отримав загальносвітову популярність, це мова Рефал. Однак поширеність цієї мови дуже і дуже мала. Отже,

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

Першим в світі транслятором мови високого рівня є ПП (Программирующая Програма), він же ПП-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, остання правка: 2019.01.28 20:35


Відгуки

2014/03/18 18:02, Noname #

Для включення в список посилань: Мова Форт в СРСР і Росії

2014/03/18 18:11, Noname #

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

Додати свій відгук

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

Питання: «[наскільки] програми, отримані шляхом Епсілон-трансляції, програють в порівнянні з програмами, написаними вручну?