В комментах к предыдущей части некоторые читатели предложили рассказать о ещё нескольких ЯП, которые сыграли значительную роль для развития программирования в СССР. Автор не смеет игнорировать просьбы трудящихся. В этой части цикла поговорим об АЛМО, Эль-76 и Рапира и ЛЯПАС.

АЛМО— прообразы виртуальных машин

АЛМО — машинно-ориентированный язык, т.е. язык системного программирования, созданный в 1965-66 г.  Задумывался как язык-посредник при трансляции с других популярных в Союзе ЯП. Он стал удачной попыткой универсализации системного программирования для существовавших тогда компьютеров с различной архитектурой, использовался на М-20, БЭСМ-6, Минск 2, Урал 11, М-220, Весна, СПЭМ-80 и др. 

Подполковник Алексей  Маклаков,  разработчик транслятора АЛМО
Подполковник Алексей Маклаков, разработчик транслятора АЛМО

О разработчиках языка известно немного, вернее сказать ничего. Согласно воспоминаниям Владимира Орлова, для ЭВМ М-220 были Алексей Маклаков и Евгений Ермаков, служившие в ЦНИИ МО СССР, они же в соавторстве с В.В. Богдановым являются авторами пособия “Программирование на языке АЛМО”.Не исключаю, что они имели отношение и к созданию самого языка. Суть АЛМО была в том, чтобы иметь трансляторы для каждой совместимой аппаратной платформы — и работать через них с множеством ЯП. Это в полной мере удалось с Algol-60 и Fortran, которые имели трансляцию в АЛМО, сами трансляторы также были написаны на нём. В языке была реализована концептуальная ориентированность на машинные процессы и архитектуру, что выражалось в постфиксной записи выражений, использовании регистровых объектов, операциях с битами машинных “слов”.

Фрагмент программы умножения матрицы на матрицу на АЛМО с комментариями из книги "Программирование на языке АЛМО"
Фрагмент программы умножения матрицы на матрицу на АЛМО
с комментариями из книги "Программирование на языке АЛМО"

Основой языка была абстрактная “машина Алмо” (в каком-то смысле её можно назвать прообразом сегодняшних виртуальных машин). По дефолту эта АЛМО-машина была наделена свойствами компьютеров того времени. Например, имела 4 уровня памяти, характерных для ЭВМ этого периода:

  • регистры-модификаторы (М-память);

  • рабочие регистры (R-память);

  • оперативная память (V-память);

  • внешняя память (EX-память).

Память состояла из сегментов (ячеек), называвшихся “слова”. Размер слов не был ограничен, но в языке предусматривались средства для определения конкретного количества бит в слове для каждого конкретного случая. Также существовал набор операций, соответствовавший системе команд компьютера. Таким образом подход в АЛМО для своего времени был достаточно передовым. Аналогичные принципы позже использовались в Р-код и М-код. Язык использовался достаточно ограничено, преимущественно в системах связанных с оборонкой. Владимир Орлов, в своих воспоминаниях на Хабре, о перспективах АЛМО вспоминает следующее:

К сожалению, у нас в стране развитие компьютерной индустрии пошло таким путем, что применение Универсальной системы программирования утратило актуальность. Но, тем не менее, создание машинно-ориентированного языка и действующей системы трансляторов на его основе, несомненно, являлось значительным научным достижением.

В 1980-х программирование на АЛМО практически перестало быть актуальным, т.к. возможности языка стали архаикой, а архитектура компьютеров значительно изменилась.

ЛЯПАС — логический синтез 1960-х

Аркадий Закревский, автор ЛЯПАС
Аркадий Закревский, автор ЛЯПАС

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

Пример кода,  ЛЯПАС
Пример кода, ЛЯПАС

 Научные изыскания и практика программирования на новом языке описываются Закревским в монографии «Алгоритмический язык ЛЯПАС и автоматизация синтеза дискретных автоматов» (1966 г.). В 1967 г. этот труд ложится в основу его докторской диссертации, которую он успешно защищает в Институте автоматики и телемеханики АН СССР (г. Москва).

Сборник статей Закревского и Гаврилова о языке ЛЯПАС, изданный ACM Monograph Series
Сборник статей Закревского и Гаврилова о языке ЛЯПАС, изданный ACM Monograph Series

ЛЯПАС один из немногих советских языков того периода, вызвавших живой интерес за рубежом. Появляется английский перевод сборника статей Закревского и Гаврилова с описанием языка ЛЯПАС и алгоритмов синтеза дискретных автоматов: «LYaPAS, A Programming Language for Logic and Coding Algorithms» (Ed. by M. Gavrilov and A. Zakrevskij), ACM Monograph Series, New York, London, 1969. На момент создания, 1964 год, ЛЯПАС превосходил Algol и Fortran в возможностях описания и решения логических задач, т.к. последние, в тот период, были ориентированы на вычисления. Первоначально транслятор языка разрабатывался для двух советских ЭВМ: «Урал-1» и М-20. Особенно успешным получился вариант для М-20, который занимал в памяти 1600 слов и был способен синтезировать 250 машинных команд в секунду, что вдвое превосходило возможности актуального в то время транслятора Algol. 

ЭВМ "Урал-1", один из первых серийных компьютеров в СССР
ЭВМ "Урал-1", один из первых серийных компьютеров в СССР

Несколько позже Закревским и командой было выпущено обновление транслятора ЛЯПАС-70 для компьютеров БЭСМ-3М, БЭСМ-4, СМ-4, Минск-2 и Минск-22. Следующая версия ЛЯПАС-71, которая создавалась уже в Минске, а не в Томске, работала на М-220 и БЭСМ-6.

БЭСМ-6 (признаётся одной из лучших ЭВМ второго поколения в мире)
БЭСМ-6 (признаётся одной из лучших ЭВМ второго поколения в мире)

К 1974 г. в качестве развития языка, появилась его усовершенствованная версия — ЛЯПАС-М, которая поддерживалась машинами серии ЕС ЭВМ, использовала числа с подвижной запятой, символы кодировки ГОСТ 10859 и взаимодействовала со средой разработки ЛЕС. Эту версию успели портировать для ПК, однако более совершенные C++ или Prolog лишили шансы ЛЯПАС на развитие.

Русский эль для “Эльбрусов”

Эль-76 интересен тем, что это кириллический ЯП высокого уровня с русской лексикой. С начала 70-х в СССР была запущена программа создания, мощных, по тем временам, многопроцессорных суперкомпьютеров «Эльбрус». Название которых унаследовали современные процессоры МЦСТ, тайваньского происхождения. 

Пульт суперкомпьютера "Эльбрус"
Пульт суперкомпьютера "Эльбрус"

Проект реализовывался в Институте точной механики и вычислительной техники АН СССР имени С. А. Лебедева в 1972-73 годах. Там же советский (позже американский и российский) ученый, доктор технических наук и будущий лауреат Государственной премии СССР, Владимир Пентковский разработал для “Эльбрусов” кириллический язык программирования. Сперва его назвали “Автокод Эльбрус”, позже он получил название “Эль -76”. Лексическим предшественником “Эль-76” в “семействе” кириллических ЯП считается АЛМИР-65, разработанный академиком Глушковым для “МИР” (Машина Инженерных Расчетов) в 1965 году.

Язык был похож на хорошо знакомый советским программистам Алгол-68, при этом семантика отражала архитектурные особенности “Эльбрусов”.  Ассемблера у языка не было, поэтому программы на прочих языках транслировались в “Эль-76”. На “Эльбрусах“ использовались и другие универсальные ЯП того времени, такие как Fortran, COBOL, Pl/1, Algol, при этом использование русской лексики и кириллицы обеспечили локальную популярность “Эль-76” среди специалистов, работавших с флагманами советского компьютеростроения. 

 программа
   процедура передатьпривет = проц(ф32 числоприветов)
   начало
     если числоприветов = 0 то
       печатьмс(стр8 "МИР не получил ни одного привета!")
     инес числоприветов = 1 то
       печатьмс(стр8 "В МИР был отправлен всего один привет!")
     иначе
       печатьмс(стр8 "МИРУ передали несколько приветов. А если точно, то их было");
       печать(числоприветов)
     все
   конец;
   
   печатьмс(стр8 "Привет просто так!"); % такой привет мартышка точно не потеряет
   печатькс();                          % разрыв строки
   передатьпривет(100)                  % привет из процедуры
 конец

Вероятно, одной из причин привязанности некоторых советских программистов к “Эль-76” стала возможность хранения типа объявляемой переменной вместе с её значениями и изменениями при выполнении программы. Под типом подразумевалось то, что хранится в памяти, а под представлением — что под этим понимается.

Не уникальной, но полезной особенностью языка стала поддержка парадигмы структурного программирования. Программы можно было структурировать в виде циклов, последовательностей и ветвлений. При этом программы можно было использовать как подпрограммы более крупных программ. “Эль-76” был процедурным языком, но при этом был способен обрабатывать исключения, которые в терминах  Пентковского назывались “ситуациями”.

Владимир Пентковский
Владимир Пентковский

Несмотря на то, что язык приобрёл локальную популярность в Союзе и получил ограниченное развитие, широкого распространения за его пределами он, по понятным причинам, не получил. В СССР его также постепенно вытеснил Pascal, а на персональных компьютерах преимущественно применялся BASIC. Также широко использовались Алгол-68 и Фортран, на которые выпустили ГОСТы.  Автор и руководитель разработки языка Эль-76, Владимир Пентковский, после прекращения работ над серией “Эльбрус” в 1990-х улетел в США, где трудоустроился в компанию Intel и участвовал в создании архитектуры векторного (SIMD) расширения команд SSE, впервые использованном в процессорах Pentium III.
С 2010 года до своей смерти в 2012 году, работал в МФТИ руководителем Лаборатории суперкомпьютерных технологий для биомедицины, фармакологии и малоразмерных структур (iSCALARE).

Рапиры и шпаги для школьников

 Язык РАПИРА (расширенный адаптированный поплан-интерпретатор, редактор, архив) является одним из наиболее известных ЯП позднего СССР. Он ненадолго стал одним из основных языков в советской школе, где с 1985 года «Основы информатики и вычислительной техники» вошли в обязательную школьную программу. РАПИРА создавалась как универсальное средство для школьников и студентов первых курсов для написания простых прикладных программ: калькуляторов, игр, примитивных редакторов, вычислителей и прочих “Hello world”.

Геннадий Звенигородский и советские школьницы
Геннадий Звенигородский и советские школьницы

С 1981 года созданием языка занимались выпускники Новосибирского государственного университета под руководством легенды советского программирования Геннадия Звенигородского, ученика не менее легендарного Андрея Ершова. Он фокусировался на создании учебных языков и популяризации программирования как профессии. Звенигородский с 1977 года жил в Новосибирске и работал в Вычислительном центре Сибирского отделения АН СССР. Он создал комплекс программных средств для обучения программированию, в который, помимо “Рапиры”, входил ещё один учебный язык “Робик”, система программирования для этих языков «Школьница», графическая система «ШПАГА» (Школьный ПАкет Графических процедур, Адаптированный). Создатель “Рапиры” также известен как организатор летних школ юных программистов в новосибирском Академгородке, которые начали проводить с 1976 года и продолжают проводиться до настоящего момента. Кроме того, именно им была организована Всесоюзная заочная школа программирования, созданная на базе журнала для школьников «Квант». Именно там тестировалась РАПИРА, “Школьница”, ШПАГА и другие обучающие продукты. В работе Звенигородского со школьниками и студентами активное участие принимал его учитель академик Андрей Ершов.

Андрей Ершов и советские школьники
Андрей Ершов и советские школьники

Подобно Эль-76 и АЛМИР-65, РАПИРА имела основную кириллическую лексику. Кроме того, существовали локализации для нескольких языков союзных республик и не только, достоверно известно об эстонской и грузинской, а также об английской версиях.

Фрагмент кода на "Рапира" из статьи Skillbox.ru
Фрагмент кода на "Рапира" из статьи Skillbox.ru

Интересной особенностью “Рапиры” стала трассировка вызова процедур, это было особенно удобно в учебном процессе, так как программист или преподаватель могли увидеть состояние переменных на каждом шаге.

Одними из первых компьютеров на которых начали использовать РАПИРу стали советские ПК из серии "Агат", по мере распространения ПК в советских школах, продукты серии "Школьница" были использованы на ПК "Корвет ПК8010/ПК8020", "Немига", "Электроника МС 0511" и др. учебных машинах того времени.

Иллюстрация Роберта Тинни к статье Лео Д. Борса «„Агат“. Советский Apple II» в журнале Byte за ноябрь 1984 года
Иллюстрация Роберта Тинни к статье Лео Д. Борса «„Агат“. Советский Apple II» в журнале Byte за ноябрь 1984 года

Как широко используемый инструмент обучения, РАПИРА использовалась не долго. Популярность языка сошла на нет по целому ряду причин. В Москве, на которую многие ориентировались, давно и успешно использовали Algol, к середине 80-х начали постепенно внедрять BASIC и Pascal. Популяризация этих языков была настолько стремительной, что РАПИРА просто не успела отвоевать свой сегмент. Настаивать на сохранении языка в школах и продвигать его “сверху”, как это было иногда принято делать, никто не стал. СССР, к этому моменту, прекратил своё существование, как и лоббирование “суверенных” ИТ-продуктов . 

Продолжение следует

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

Комментарии (56)


  1. slonoten
    14.01.2024 21:32
    +9

    Название которых унаследовали современные процессоры МЦСТ, тайваньского происхождения

    А когда вы про процессоры Intel или AMD пишите, то тоже не забываете упомянуть про их тайваньское происхождение или "это другое"?


    1. smirnov_dm Автор
      14.01.2024 21:32
      +12

      Согласно доступным мне сведениям производство Intel ведется в США(заводы в Аризоне и Нью-Мексико), а также Израиле и Ирландии. Тестирование проходит в Китае, Малайзии и Вьетнаме, там же осуществляют сборку готовых изделий... Погуглил, забыл ещё один штат - Орегон и ещё одну страну сборщик Коста-Рику. Поэтому с Intel про тайваньское происхождение, пожалуй мимо. Из продукции Intel, TSMC производили, согласно публичным данным "беспроводные решения, чипсеты, некоторые модели Atom". Думаю, что это лишь часть географии Intel. Полагаю, что их цепочки поставок обходят стороной, разве что, КНДР.


      1. SFelix
        14.01.2024 21:32
        +9

        Это довольно мелочно с Вашей стороны. Реально будете любую fabless микросхему именовать по месту производства микросхемы, а не по месту её разработки?


        1. smirnov_dm Автор
          14.01.2024 21:32
          +10

          Да ладно вам. Как выяснилось, место производства таки имеет значение. Аналогия с Intel и AMD ложная, т.к. если им Тайвань или , например, Ирландия, внезапно откажут, они смогут производить это в США или Германии, чего нельзя сказать о МЦСТ. При наличии в России собственной технологической базы для производства худо-бедно современных процессоров я бы не стал упоминать о происхождении. Но её нет.


          1. SFelix
            14.01.2024 21:32
            -4

            Да не ладно. Эта оговорка выглядит как желание уязвить на пустом месте.
            МЦСТ сможет производить в Китае, если на Тайване откажут. Но пока там не отказали.

            А так fabless и есть fabless. МЦСТ - россияне, а не тайваньцы.


            1. smirnov_dm Автор
              14.01.2024 21:32
              +9

              Вы серьёзно? TSMC приостановили поставки в Россию 27 февраля 2022 года. Ни одна китайская компания не заменила TMSC. Поэтому государство инвестирует в локализацию производства в России, однако это крайне сложная задача. Если мы говорим об "Эльбрусах", то это уже не российские и не тайваньские процессоры, это не выпускающиеся процессоры.

              МЦСТ делают, что могут, вопросов нет. Но отсутствие локализации в России - это проблема.


              1. immerdar
                14.01.2024 21:32

                Я читал, что Эльбрус-4С и более младшие модели производят на Микроне. А более современные техпроцессы на Тайване.

                Если это так то словосочетание "тайваньского происхождения" не корректно, т.к. в таком случае есть и российское происхождение.

                Это если под происхождением понимать производство, т.к. без России Тайвань никакой Эльбрус не смог бы собрать. Они там не знают как он устроен и как работает. Им передают данные, по которым они "печатают" кристал. Они даже схемотехники его не знают.

                Его в России придумали и разработали. Поэтому происхождение российское, а "сборка" может быть тайваньской.


                1. smirnov_dm Автор
                  14.01.2024 21:32
                  +1

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

                  Цитирую: "В 2017 году планировалось наладить выпуск Эльбрус-4СМ — адаптированную версию Эльбрус-4С под мощности завода «Микрон», но предприятие не смогло перейти на необходимый для этого техпроцесс 65 нм. "

                  Серийного производства этих камней - нет. И к разработчикам претензий нет, разработчики российские они молодцы и хорошо, что они остались, но происхождение серийных процессоров тайваньское. Серийно в России, возможно, могут производить Эльбрус-2С+ и младше (не знаю на сколько это актуально сегодня и есть ли на них спрос), но и по 90 нм есть сомнения, в комментах к моей статье здесь, были аргументированные доводы о том, что с этим техпроцессом пока есть проблемы, т.е. речь о мелкосерийном производстве. Подробно что-то писали тут.


                1. smirnov_dm Автор
                  14.01.2024 21:32

                  И ещё нюанс, понимаете разницу между сборкой и производством?


      1. Dimon_no_ne_tot
        14.01.2024 21:32

        Здравствуйте, спасибо за интересную публикацию.. С Вами хочет связаться организатор и директор Виртуального компьютерного музея (comuter-museum@ru) Эдуард Михайлович Пройдаков e.proydakov@yandex.ru


        1. smirnov_dm Автор
          14.01.2024 21:32

          Спасибо, напишу ему.


    1. stanislavskijvlad
      14.01.2024 21:32

      А какая разница... На одной планете живём. Все мы — люди.


    1. smirnov_dm Автор
      14.01.2024 21:32
      +3

      С AMD аналогичная история. Крупнейшие производства AMD в Германии и США, на TSMC они отправляют больше заказов, чем Intel, но Тайванем они также не ограничиваются. Если Ryzen 7000 полностью произведён в Тайване, то для Ryzen 5000 там делают только вафли пластины.


      1. gxcreator
        14.01.2024 21:32

        Но AMD это fabless компания и у неё нет заводов...


        1. smirnov_dm Автор
          14.01.2024 21:32
          +3

          Формально так. Но GlobalFoundries - это просто компания созданная из производственных подразделений AMD, на сколько я знаю. Созданная для того, чтобы производить продукцию AMD.


          1. gxcreator
            14.01.2024 21:32

            Большинство заводов GloFo 100+ нанометров. Какую продукцию АМД они производят интересно?


            1. smirnov_dm Автор
              14.01.2024 21:32

              Какого года данные?


            1. smirnov_dm Автор
              14.01.2024 21:32
              +1

              К слову, самая крупная фабрика, по крайней мере была, в Дрездене, и там до 12 нм. В США, fab 8, делает до 14 нм(по вашим данным) . Представляете масштабы этих предприятий и их производственную мощность?

              fab 1, Dresden
              fab 1, Dresden
              fab8, New York
              fab8, New York


              1. gxcreator
                14.01.2024 21:32

                Ну да, наверное есть фабрики, которые производят продукцию АМД(какую кстати? райзены и радеоны делаются на TSMC)
                АМД это все еще fabless компания, которая пользуется услугами разных фаундри - Samsung и TSMC.


                1. smirnov_dm Автор
                  14.01.2024 21:32

                  Не так, например  для Ryzen 5000 TSMC делают только пластины, а остальное они производят на fab 8 в Нью-Йорке. Вы очевидно прочли не всю ветку, я уже об этом упоминал. Кроме того, то, что AMD юридически фаблес, не отменяет того факта, что основными его производственными мощностями остаются GlobalFoundries . Т.е. де-факто аффилированные производственные подразделения, в своё время созданные самой AMD. Именно по этой причине любые аналогии с МЦСТ в данном случае ложны. Если бы МЦСТ создали TSMC, а потом ради оптимизации отторгли бы их в отдельную компанию, аналогия была бы подходящей. Иными словами, да, очевидно, что "это другое".


                  1. gxcreator
                    14.01.2024 21:32

                    "Только пластины", то есть все кроме упаковки в корпус?
                    У GloFo же нет нужных техпроцессов, стало быть вся литография случается на TSMC. Самый тонкий техпроцесс GloFo это12нм - а почти вся современная продукция АМД, включая Ryzen, EPYC, Instinct, Radeon, чипы для консолей это 8нм и тоньше.

                    не отменяет того факта, что основными его производственными мощностями остаются GlobalFoundries .
                    Кстати, а можете привести какие-либо объективные источники, откуда вы взяли этот факт?


                    1. smirnov_dm Автор
                      14.01.2024 21:32

                      а почти вся современная продукция АМД

                      Ваше "почти" - это сколько процентов? Об этом имело бы смысл говорить, если бы AMD в принципе не использовал технологические мощности GloFo, и никогда не владела этими заводами. В номенклатуре процессоров есть и 12 и 14 нм, и не процессорами едиными сыты в AMD. Для них fabless модель - дань оптимизации цепочек поставки, для МЦСТ fabless - это единственная возможность производить что-то за пределами 90 нм, которой, к сожалению, уже нет. AMD могут купить литографы, если захотят, МЦСТ, точнее "Микрон" - нет.
                      В России нет ничего похожего ни на GloFo, ни на TMSC, и если для GloFo отказ от 7 нм, это вопрос сохранения денег, так как потребность в чипах созданных по другим техпроцессам, согласно их аналитике, выше. То для российских компаний даже серийные 65 нм будут большим достижением. И да, сорри, апелляция к российским компаниям - это, скорее, не к вам, а к тем, кто комментил выше.


                      1. gxcreator
                        14.01.2024 21:32

                        Так все же, ваша аргументация АМД=ГлоФо основывается на неком факте, что ГлоФо это основная фаундри АМД. Можете подтвердить это каким-либо способом?
                        Просто по всем линейкам АМД 12нм продуктов очень мало, даже самые бюджетные атлоны делают в основном на TSMC сейчас.
                        А что касается вопросов владения, то 80+ процентов GloFo принадлежит государственному инвестфонду из ОАЭ Mubadala Investment Company, АМД там даже не в топ10 миноритариев.


          1. iggr63
            14.01.2024 21:32

            Совершенно верно Lisa Su вывела прозводство в отдельную компанию GFS.


  1. SFelix
    14.01.2024 21:32
    +4

    >и взаимодействовала со средой разработки ЛЭС

    ЛЕС, тащем-та.

    Довольно пионерская штука для своего времени была - что-то типа SVN, таск-треккера и встроенной системы документирования в одном пакете.


  1. zatim
    14.01.2024 21:32
    +2

     "Немига", "Электроника МС 1502 " и др. учебных машинах того времени.

    Наверное, все таки не 1502, а 0511. 1502 в учебном процессе практически не использовалась, в отличие от 0511, которая специально для этого и создавалась.


    1. smirnov_dm Автор
      14.01.2024 21:32

      Точно, поправлю, спасибо.


  1. Jianke
    14.01.2024 21:32
    +2

    А где, примеры кода на этих языках? (вижу только один пример для рапиры)


    1. smirnov_dm Автор
      14.01.2024 21:32

      Добавил, для всех, кроме АЛМО. Для АЛМО не нашёл.


      1. Jianke
        14.01.2024 21:32

        Спасибо!

        Ух, ты! Как ЛЯПАС - выглядит!

        Интересно, насколько он похож и отличается от APL?


        1. pda0
          14.01.2024 21:32
          +8

          А кто-то ещё на синтаксис Perl Rust жалуется... :-D


        1. SFelix
          14.01.2024 21:32

          Ничего общего с APL


          1. Jianke
            14.01.2024 21:32

            Хотелось бы узнать подробности отличий.


        1. smirnov_dm Автор
          14.01.2024 21:32
          +2

          Смотря что подразумевается под APL. A-Programming Lanuage (APL by Kenneth E. Iverson) или Adress Programming Lanuage (APL by Kateryna Yushchenko). С первым, возможно есть сходство (проверю), со вторым, вероятно, сходств нет.

          Hidden text
          APL by Kenneth E. Iverson
          APL by Kenneth E. Iverson

          Hidden text
          APL Екатерины Ющенко
          APL Екатерины Ющенко


          1. Jianke
            14.01.2024 21:32

            Adress Programming Lanuage (APL by Kateryna Yushchenko)

            Ух, ты! Выглядит тоже впечатляюще!


            1. smirnov_dm Автор
              14.01.2024 21:32
              +1

              Это язык пятидесятых годов. Считается первым языком в котором были использованы указатели.


    1. smirnov_dm Автор
      14.01.2024 21:32

      Добавил фрагмент кода АЛМО с комментами из учебника.


  1. PTM
    14.01.2024 21:32
    +1

    а как же ДРАКОН?

    https://ru.wikipedia.org/wiki/ДРАКОН

    хотя это уже не ссср вроде)


    1. pda0
      14.01.2024 21:32
      +1

      СССР. Язык создавался и использовался для программы Энергия-Буран.


      1. duke_alba
        14.01.2024 21:32
        +1

        В Буране, вернее, при его старте, использовался ДИПОЛЬ.


        1. smirnov_dm Автор
          14.01.2024 21:32
          +1

          Всё верно, ДИПОЛЬ, а ДРАКОН использовался как нечто типа BPMN-нотации, органично связанной с ЯП, чтобы исключить проблемы в логике работы функций и ускорить процесс.


    1. smirnov_dm Автор
      14.01.2024 21:32
      +1

      Строго говоря, вопрос о том, стоит ли ДРАКОН относить к языкам программирования или средствам моделирования алгоритмов является дискуссионным, но в целом разработка интересная.


    1. duke_alba
      14.01.2024 21:32
      +3

      Тогда уж ДИПОЛЬ. Это и СССР, и писало не нём немало народу. Язык с суровой поддержкой реального времени.


      1. smirnov_dm Автор
        14.01.2024 21:32
        +1

        По оборонке на нём много написано. Верно.


  1. Ahuromazdie
    14.01.2024 21:32
    +1

    ДССП, РЕФАЛ...


    1. smirnov_dm Автор
      14.01.2024 21:32

      РЕФАЛ был в первой части.


  1. duke_alba
    14.01.2024 21:32
    +1

    Был создан в ИПМ им М.В. Келдыша в лаб. Шура-,Бура. Давно это было.


  1. Tzimie
    14.01.2024 21:32
    +1

    В советском программировании идея о том, что машина может обрабатывать не только числа, была реализована крайне поздно. Не даром компьютеры назывались ЭВМ - электронно ВЫЧИСЛИТЕЛЬНЫЕ машины. Берешь какую нибудь старую книжку по программированию - и вот метода наименьших квадратов, преобразование фурье, интегрирование, интерполяция и экстраполяция, и ни одного char/string

    подробнее с примерами писал тут: https://habr.com/ru/articles/483264/


    1. dek
      14.01.2024 21:32
      +1

      1. Компьютер в переводе с английского означает "вычислитель".

      2. Пример из Вашей статьи ("Вычисление вероятностей возможных диагнозов") сам автор комментирует так (моё выделение): "Наша цель - описать медицинский диагноз в в виде математических формулировок, точно отражающих характеристики процессов, связанных с медицинской диагностикой" и далее про мат. логику, вероятностный анализ, теорию игр...

      3. В книге 1959 года "Электронные цифровые машины и программирование" (Китов А.И., Криницкий Н.А), второй областью применения ЭЦМ указана обработка информации (моё выделение): "В экономической области эти машины используются для решения задач учета и планирования и, в частности, для расчета заработной платы, составления накладных, отчетов, составления графиков загрузки производства и использования рабочей силы, составления железнодорожных расписаний и т. д. ... электронные цифровые машины обеспечивают не только выполнение расчетной работы, но и, самое главное, сортировку и анализ обрабатываемых данных, вплоть до выдачи законченных отчетных, справочных или исполнительных документов. В связи с этим программирование экономических и конторских задач является значительно более сложным делом, чем программирование математических вычислений". Глава XI этой книги называется "Неарифметические возможности Электронных Цифровых Машин"

      Между прочим, в Algol-60 типа CHAR (как и STRING) не было.


  1. nikolz
    14.01.2024 21:32
    +1

    "... стали советские ПК из серии "Агат"...

    Агат скопировали с Apple II , но сделали импортозамещение микросхемы графического адаптера. В результате вместо использования готового софта от Apple, которого уже было много, приступили к созданию своего софта.

    Но не успели, компьютер устарел.


    1. smirnov_dm Автор
      14.01.2024 21:32
      +1

      Да, об этом, как раз, карикатура)


  1. TedBeer
    14.01.2024 21:32
    +3

    Участвовал в ранней специализации и на первом курсе попал в ИТМиВТ (институт точной механики и вычислительной техники) где и разрабатывали Эльбрус-2. Попал в лабораторию где делали компилятор Эл76. Так вот, неупомянутой вами фичей языка, которой не было у языков того времени (ну или я о них не знаю), была поддержка матричной арифметики. Т.е. C=AxB могло быть не только с числами, но и с матрицами. А в матричных вычислениях математики СССР были на передовых ролях. И несмотря на меньшие доступные вычислительные возможности могли обсчитывать более крупные матрицы (а это нужно было для всяких обсчетов ядерных взрывов например, климатические модели)
    А через пару лет (после службы в армии) уже попал в лабораторию искусственного интеллекта, где сделали программу, которая решала дифуры с недоопределенными данными. В этой же лабе работал и "отец русского фидо" Эрик Флетчер (в миру Женя Чуприянов) Эх молодость-молодость :)


    1. Gumanoid
      14.01.2024 21:32

      Застали там Юрия Сергеевича Румянцева?


    1. smirnov_dm Автор
      14.01.2024 21:32

      В лаборатории ИИ не доводилось работать с Ивахненко и Шлезингером, случайно? Хотел уточнить несколько моментов для будущей публикации.


    1. smirnov_dm Автор
      14.01.2024 21:32

      К слову, про фичу языка. Эль не единственный советский язык в котором можно было проводить операции с матрицами. Например в упомянутом АЛМО, в качестве одного из примеров в учебнике, приводят программу умножения матрицы на матрицу и матрицы на вектор. По иронии прочитал ваш коммент, как раз когда искал пример кода на АЛМО для того, чтобы дополнить статью)


  1. GlobalPenetrator
    14.01.2024 21:32
    +1

    Комментарий про мартышку улыбнул.))

    Обязательно вставлю где-нибудь в коде))