Какие языки программирования использовались космической программой Советского Союза?

306

Я заинтересовался советской космической программой и с интересом обнаружил, что программное обеспечение на космическом корабле "Буран" примерно в 1988 году было написано на Прологе.

Кто-нибудь знает, какие языки могли использоваться в более ранних миссиях, особенно в миссиях на марсоходе PrOP-M в начале 1970-х годов, которые были несколько автономными и могли преодолевать препятствия?

редактировать

Мой источник для Buran Prolog - это рассекреченный документ с сайта ЦРУ с мая 1990 года. Я не смог найти версию OCR, так что вот соответствующая цитата из p. 0449:

Согласно литературе с открытым исходным кодом, Советы использовали французский язык программирования, известный как Prolog, для разработки бортового системного программного обеспечения для автомобиля Buran ...

shamp00
источник
4
Вас интересуют все проекты, перечисленные в статье Википедии, на которую вы ссылаетесь - с 1957 по 1987 год? или к 2011 году? Кроме того, предполагая, что советские компьютеры использовались в их космической программе, подойдут ли языки, которые работают на них?
комнат
2
Я подозреваю, что ранняя российская космическая программа, вероятно, использовала аналоговые вычислительные устройства, так же, как и ВВС США, и ранняя космическая программа США. Я слышал слухи о том, что советские русские больше полагались на аналоговые компьютеры, чем США, но я не могу подтвердить источник. Аналоговые компьютеры обычно были быстрее и точнее, чем цифровые компьютеры того времени, но не были такими гибкими (создавались для одной цели).
Дэйв Кеннеди
1
@DaveKennedy Вы правы: Советский Союз использовал аналоговые вычисления чаще, чем США, вплоть до 1970-х годов. В 1982 году (в США) мне поручили проект с использованием аналогового компьютера, и я вспоминаю, как мой инженер-механик рассказывал, что аналоговые компьютеры широко и успешно использовались в СССР. Я постараюсь получить больше информации, чтобы я мог на самом деле ответь и на этот вопрос.
Элли Кессельман
2
Reddit обсуждение этого вопроса.
Яннис
1
Я бы сказал, что любое утверждение, начинающееся с «Согласно литературе с открытым исходным кодом», может быть ошибочным - космическая программа была засекречена, и поэтому в литературе с открытым исходным кодом могла быть преднамеренная дезинформация.
Sharp

Ответы:

223

Есть книга на русском языке, немецкий Носкин, Первые компьютеры (буквально бортовые цифровые вычислительные машины ) для космических приложений (Герман Носкин, Первые БЦВМ космического применения), ISBN 978-5-91918-093-7.

Сам автор участвовал во многих ранних проектах (в основном в области аппаратного обеспечения) и, по его словам, долгое время пользовался популярностью аналогового оборудования, он упоминает, что для задач космической встречи не использовались цифровые компьютеры до конца 70-х годов. Благодаря этой политике многие цифровые компьютеры были действительно доказательством концепции, хотя и использовались в других областях советской экономики. Первый компьютер, по его словам, использовавшийся на борту, был Argon-11S (Аргон-11С) во время беспилотных полетов на Луну ближе к Аполлону-8 во времени. Также Носкин вкратце говорит, что бортовой компьютер «Салют-4» был совместим с компьютерами общего назначения ES, использовавшимися в советской экономике, поэтому было возможно разрабатывать программное обеспечение на PL-1 и Fortran.

На российских сайтах есть несколько упоминаний о языках программирования Buran. По словам Владимира Паронджанова, инженера из программы ( Почта России ), были разработаны три языка, использующих русский язык в качестве основы: PROL2 (ПРОЛ2) для бортовых программ, Dipol (Диполь) для испытаний на грунт и Laks (Лакс) для моделирования. Все они были предназначены для использования не только профессиональными программистами, но и инженерами из других областей.

Когда программа Buran была закрыта, они были объединены в новый язык Drakon (Дракон, русское слово «Дракон»), который, как утверждается, был «графическим» языком, имеющим двумерные описания программ и использующий произвольные известные языки. для генерации кода. Этот язык также был предназначен для использования не программистами. Этот язык, вероятно, не имеет и международного сообщества и даже не известен в России, хотя его автор, Владимир Паронджанов, активно продвигает его ( статья в русской статье в Википедии очень длинная и даже была однажды удалена за несоблюдение правил Википедии). Дракон был впервые использован для программирования миссий « Морской старт» и с тех пор используется в других российских космических программах.

Maksee
источник
3
Отличный ответ! Я побродил еще немного и нашел это интервью, в котором интервьюер говорит: «Мне сказали, что Argon-11S был установлен на космическом корабле, отправленном на Марс».
shamp00
Хороший ответ, но Sea Launch - не русская программа. Это сотрудничество США, России (верхняя ступень), Норвегии и Украины (рокер-носитель).
defhlt
В качестве ссылки ES были прямыми советскими клонами мэйнфреймов IBM S / 360 . Огромные чудовища.
ДВК
Этот материал DRAKON очень похож на диаграммы активности UML. Или я что-то упустил?
Дмитрий Григорьев
30

В 80-х годах третье поколение бортовых компьютеров Argon использовало Pascal, Fortran и Si. (Si?). Я не нашел никакого другого языка, кроме ассемблера, используемого до этого.

Из аргонской бортовой компьютерной истории

Семья аргонов создавалась в три этапа. На первом этапе (1964 - середина 70-х годов) было выпущено 11 типов компьютеров для космических, бортовых и наземных автоматизированных систем управления.

а также

В середине 80-х годов начался третий этап развития компьютеров Argon. В 1986 году была принята государственная программа, целью которой было создание унифицированных семейств мобильных компьютеров, так называемых SB EVM, на основе архитектур ES EVM, POISK и SM EVM.

Один из них, бортовой компьютер SB-3580, имел:

Средство программирования: кросс-система ОС РАФОС-11. Языки программирования включают в себя: Ассемблер, Си, Паскаль, Фортран.а

Источник: Представляем Аргон

Дэвид Пойнтер
источник
13
Я думаю, что Si на самом деле просто C. Я действительно использовал советский компилятор C под названием СиМ86 (для клона CP / M под названием М86)
fionbio
20
Да, Си написан Си (Si) на русском языке.
4
Фонетически, говоря «Си», звучит как английский «С» на латыни и, я полагаю, славянские языки.
Виктор С
8
С, сеньор. El mejor lenguaje.
ObscureRobot
RAFOS-11 - это другое название RT-11.
sendmoreinfo
22

Мой отец работал в ЦНИИ РТК и участвовал в разработке программного обеспечения для манипулятора Buran ( http://www.buran-energia.com/bourane-buran/bourane-consti-bras.php ) Программное обеспечение было разработано на ES EVM (советский клон IBM S / 360-370) с использованием Fortran из-за тяжелых вычислений.

Антон Назаров
источник
17

Я несколько лет назад наткнулся на эту статью в цитате ACM " История APL в СССР ". Его написали Андрей Кондрашев (Вычислительный центр РАН) и Олег Лукша (Обнинский образовательный центр).

Интересная цитата из статьи:

Может быть интересно, что APL был напрямую связан с конструкцией советского космического челнока "Буран". Теплозащита является одним из основных элементов в конструкции аппаратов такого типа. Изготавливается из композиционных материалов. Математические модели процесса сушки и обжига плит, покрывающих корпус, были выполнены с помощью APL. В результате, процент дефектов при изготовлении накладок был уменьшен, что сэкономило много денег и усилий.

К Леттоу
источник