¿Qué lenguajes de programación de software utilizó el programa espacial de la Unión Soviética?

306

Me interesé en el programa espacial soviético y me interesó descubrir que el software de la nave espacial Buran alrededor de 1988 estaba escrito en Prolog.

¿Alguien sabe qué idiomas podrían haberse utilizado en misiones anteriores, especialmente las misiones de rover Mars PrOP-M de principios de la década de 1970 que eran algo autónomas y podían sortear obstáculos?

Editar

Mi fuente para Buran Prolog es este documento desclasificado del sitio de la CIA de mayo de 1990. No pude encontrar una versión de OCR, así que aquí está la cita relevante de p. 0449:

Según la literatura de código abierto, los soviéticos utilizaron el lenguaje de programación desarrollado en francés conocido como Prolog para desarrollar un software de sistema a bordo para el vehículo Buran ...

shamp00
fuente
44
¿Está interesado en todos los proyectos enumerados en el artículo de Wikipedia al que se refiere, desde 1957 hasta 1987? o para el 2011? Además, suponiendo que se usaran computadoras soviéticas en su programa espacial, ¿calificarían los idiomas que se ejecutan en estos?
mosquito
2
Sospecharía que el primer programa espacial ruso probablemente usó dispositivos de computación analógica, al igual que el Cuerpo Aéreo del Ejército de EE. UU. Y el primer programa espacial de EE. UU. Escuché rumores de que los rusos soviéticos dependían más de las computadoras analógicas que Estados Unidos, pero no puedo confirmar la fuente. Las computadoras analógicas generalmente eran más rápidas y más precisas que las computadoras digitales de su tiempo, pero no eran tan flexibles (construidas para un solo propósito).
Dave Kennedy el
1
@DaveKennedy Tienes razón, en que la Unión Soviética usó la computación analógica más que los Estados Unidos, hasta la década de 1970. Me asignaron un proyecto usando una computadora analógica en 1982 (en los EE. UU.) Y recuerdo que mi profesor de ingeniería mecánica me dijo que las computadoras analógicas se habían utilizado ampliamente y con éxito en la URSS. Intentaré obtener más información para que pueda realmente responde esta pregunta también.
Ellie Kesselman
2
Discusión de Reddit sobre esta cuestión.
Yannis
1
Diría que cualquier afirmación que comience con "De acuerdo con la literatura de código abierto" podría estar equivocada: el programa espacial se clasificó y, por lo tanto, la desinformación deliberada podría incluirse en la literatura de código abierto.
Sharptooth

Respuestas:

223

Hay un libro en ruso, alemán Noskin, Primeras computadoras (literalmente máquinas de cómputo digitales ) para aplicaciones espaciales (Герман Носкин, Первые БЦВМ космического применения), ISBN 978-5-91918-093-7.

El propio autor participó en muchos proyectos iniciales (principalmente en hardware) y, según él, el hardware analógico estuvo a favor durante mucho tiempo, menciona que las tareas de encuentro espacial no usaron computadoras digitales hasta finales de los años 70. Debido a esta política, muchas computadoras digitales eran realmente pruebas de concepto, aunque se usaban en otras áreas de la economía soviética. Según él, la primera computadora utilizada a bordo fue el Argon-11S (Аргон-11С) en las misiones no tripuladas a la Luna más cercanas al Apolo-8 a tiempo. También Noskin dice brevemente que la computadora de a bordo Salut-4 era compatible con las computadoras de uso general ES utilizadas en la economía soviética, por lo que fue posible desarrollar software en PL-1 y Fortran.

Hay varias menciones de los idiomas del programa Buran en los sitios web rusos. Según Vladimir Parondjanov, un ingeniero del programa ( Post ruso ) se desarrollaron tres idiomas que utilizan el ruso como base: PROL2 (ПРОЛ2) para programas a bordo, Dipol (Диполь) para pruebas de tierra y Laks (Лакс) para modelar. Todos ellos estaban destinados a ser utilizados no solo por programadores profesionales sino también por ingenieros de otras áreas.

Cuando se cerró el programa Buran, se fusionaron en un nuevo idioma Drakon (Дракон, palabra rusa para "Dragón") que se afirma que es un lenguaje "gráfico" que tiene descripciones bidimensionales de los programas y utiliza idiomas arbitrarios bien conocidos. para la generación de código Este lenguaje también estaba destinado a ser utilizado por no programadores. El idioma probablemente no tiene una comunidad internacional y ni siquiera es bien conocido en Rusia, aunque su autor, Vladimir Parondjanov, lo promovió en gran medida (el artículo del artículo ruso de Wikipedia es muy largo e incluso se eliminó una vez por no seguir las reglas de Wikipedia). Drakon se utilizó por primera vez para la programación de las misiones de Sea Launch y desde entonces se ha utilizado en otros programas espaciales rusos.

Maksee
fuente
3
¡Gran respuesta! Busqué un poco más y encontré esta entrevista en la que el entrevistador dice 'Me dijeron que el Argon-11S había sido instalado en un vehículo espacial enviado a Marte'.
shamp00
Buena respuesta, pero Sea Launch no es un programa ruso. Es la cooperación de EE. UU., Rusia (etapa superior), Noruega y Ucrania (operador rockero).
defhlt
Como referencia, los ES eran clones soviéticos directos de los mainframes S / 360 de IBM . Enorme, un $$ beasies.
DVK
Esas cosas de DRAKON se parecen mucho a los diagramas de actividad UML. ¿O extrañé algo importante?
Dmitry Grigoryev
30

En los años 80, la tercera generación de computadoras aerotransportadas Argon usaba Pascal, Fortran y Si. (¿Si?). No he encontrado ningún otro idioma además del ensamblador utilizado antes de eso.

Desde el historial informático aerotransportado de argón

La familia Argon fue creada en tres etapas. Durante la primera etapa (1964 - mediados de los 70) se produjeron 11 tipos de computadoras para sistemas de control automatizado espacial, aéreo y terrestre.

y

A mediados de los 80 comenzó la tercera etapa de desarrollo de las computadoras Argon. En 1986, se adoptó el programa estatal cuyo objetivo era crear familias unificadas de computadoras móviles, llamadas SB EVM, basadas en arquitecturas ES EVM, POISK y SM EVM.

Una de ellas, la computadora aerotransportada SB-3580, tenía:

Programación: sistema cruzado OS RAFOS-11. Los lenguajes de programación incluyen: ensamblador, Si, Pascal, Fortran.

fuente: Presentación de argón

David Pointer
fuente
13
Creo que Si en realidad es solo C. Realmente utilicé una marca soviética de compilador de C llamada СиМ86 (para el clon CP / M llamado М86)
fionbio
20
Sí, C se escribe Си (Si) en ruso.
44
fonéticamente, decir "Si" suena como inglés "C" en latín y, supongo, lenguas eslavas.
Victor S
8
C, señor. El mejor lenguaje.
ObscureRobot
RAFOS-11 es otro nombre para RT-11.
sendmoreinfo
17

Me encontré con este artículo en la cita de ACM quad hace unos años, " Una historia de APL en la URSS ". Fue escrito por Andrei Kondrashev (Centro de Computación de la Academia de Ciencias de Rusia) y Oleg Luksha (El Centro Educativo de Obninsk).

Una cita interesante del artículo:

Puede ser de interés que APL esté directamente relacionado con el diseño del transbordador espacial soviético "Buran". La protección térmica es uno de los elementos principales en la construcción de aparatos de ese tipo. Está hecho de materiales de composición. Con la ayuda de APL, se realizaron modelos matemáticos del proceso de secado y tostado de placas que cubren el casco. Como resultado, el porcentaje de defectos durante la producción de las placas de cubierta se redujo, ahorrando mucho dinero y esfuerzo.

K Lettow
fuente