Quali linguaggi di programmazione software sono stati utilizzati dal programma spaziale dell'Unione Sovietica?


306

Mi sono interessato al programma spaziale sovietico e sono stato interessato a scoprire che il software sul veicolo spaziale Buran intorno al 1988 è stato scritto in Prolog.

Qualcuno sa quali lingue potrebbero essere state utilizzate nelle missioni precedenti, in particolare le missioni rover Mars PrOP-M dei primi anni '70 che erano in qualche modo autonome e potevano superare ostacoli?

modificare

La mia fonte per il Buran Prolog è questo documento declassificato dal sito della CIA del maggio 1990. Non sono riuscito a trovare una versione OCR, quindi ecco la citazione pertinente da p. 0449:

Secondo la letteratura open source, i sovietici usavano il linguaggio di programmazione sviluppato in francese noto come Prolog per sviluppare software di sistema di bordo per il veicolo Buran ...


4
sei interessato a tutti i progetti elencati nell'articolo Wikipedia a cui ti riferisci - dal 1957 al 1987? o al 2011? Inoltre, supponendo che i computer sovietici fossero utilizzati nel loro programma spaziale, le lingue che girano su questi si qualificano?
moscerino il

2
Sospetterei che il primo programma spaziale russo probabilmente utilizzava dispositivi di calcolo analogici, proprio come fecero entrambi l'Aeronautica militare americana e il primo programma spaziale statunitense. Ho sentito voci secondo cui i russi sovietici si affidavano più pesantemente ai computer analogici degli Stati Uniti, ma non posso confermare la fonte. I computer analogici erano in genere più veloci e più precisi dei computer digitali del loro tempo, ma non erano così flessibili (costruiti per un unico scopo).
Dave Kennedy,

1
@DaveKennedy Hai ragione, in quanto l'Unione Sovietica ha usato il calcolo analogico più degli Stati Uniti, fino agli anni '70. Mi è stato assegnato un progetto usando un computer analogico nel 1982 (negli Stati Uniti) e ricordo il mio professore di ingegneria meccanica che mi disse che i computer analogici erano stati ampiamente utilizzati e con successo in URSS. Cercherò di ottenere qualche informazione in più in modo che io possa rispondi anche a questa domanda.
Ellie Kesselman,

2
Discussione su Reddit su questa domanda.
yannis,

1
Direi che qualsiasi affermazione che inizia con "Secondo la letteratura open source" potrebbe essere errata: il programma spaziale è stato classificato e quindi la disinformazione deliberata potrebbe essere inserita nella letteratura open source.
sharptooth,

Risposte:


223

C'è un libro in russo, tedesco Noskin, First computer (letteralmente macchine per il calcolo digitale ) per applicazioni spaziali (Герман Носкин, Первые БЦВМ космического применения), ISBN 978-5-91918-093-7.

L'autore stesso ha partecipato a molti progetti iniziali (principalmente hardware) e secondo lui l'hardware analogico è stato a lungo a favore, afferma che le attività di incontro spaziale non hanno utilizzato i computer digitali fino alla fine degli anni '70. A causa di questa politica, molti computer digitali erano in realtà prove del concetto, sebbene utilizzati in altre aree dell'economia sovietica. Il primo computer secondo lui usato a bordo fu l'Argon-11S (Аргон-11С) nelle missioni senza pilota sulla Luna più vicino ad Apollo-8 nel tempo. Inoltre, Noskin afferma brevemente che il computer di bordo Salut-4 era compatibile con i computer di uso generale che ES usava nell'economia sovietica, quindi era possibile sviluppare software in PL-1 e Fortran.

Ci sono diverse menzioni delle lingue del programma Buran sui siti web russi. Secondo Vladimir Parondjanov, un ingegnere del programma ( Russian Post ) sono state sviluppate tre lingue che usano il russo come base: PROL2 (ПРОЛ2) per i programmi di bordo, Dipol (Диполь) per i test di terra e Laks (Лакс) per la modellazione. Tutti erano destinati all'uso non solo da programmatori professionisti ma anche ingegneri di altre aree.

Quando il programma Buran fu chiuso, vennero fusi in una nuova lingua Drakon (Дракон, parola russa per "Drago") che si afferma essere un linguaggio "grafico" con descrizioni bidimensionali dei programmi e l'uso di lingue note arbitrarie per la generazione di codice. Questo linguaggio era anche destinato all'uso da parte di non programmatori. La lingua probabilmente non ha una comunità internazionale e non è nemmeno molto conosciuta in Russia, sebbene fortemente promossa dal suo autore, Vladimir Parondjanov (l' articolo di articolo di Wikipedia in russo è molto lungo ed è stato addirittura cancellato una volta per non aver seguito le regole di Wikipedia). Drakon è stato utilizzato per la prima volta per la programmazione delle missioni Sea Launch e da allora è stato utilizzato in altri programmi spaziali russi.


3
Bella risposta! Ho cercato ancora un po 'e ho trovato questa intervista in cui l'intervistatore dice "Mi è stato detto che l'Argon-11S era stato installato su un veicolo spaziale inviato su Marte".
shamp00,

Buona risposta, ma Sea Launch non è un programma russo. È la cooperazione di Stati Uniti, Russia (livello superiore), Norvegia e Ucraina (vettore rocker).
defhlt

Come riferimento, ES erano cloni sovietici diretti dei mainframe S / 360 di IBM . Enormi animali domestici.
DVK,

Quella roba di DRAKON assomiglia molto ai diagrammi di attività UML. O mi sono perso qualcosa di importante?
Dmitry Grigoryev,

30

Negli anni '80, la terza generazione di computer di bordo Argon utilizzava Pascal, Fortran e Si. (Si?). Non ho trovato nessun'altra lingua oltre all'assemblatore usato prima.

Dalla storia dei computer nell'aria di Argon

La famiglia Argon è stata creata in tre fasi. Durante la prima fase (1964 - metà degli anni '70) furono prodotti 11 tipi di computer per sistemi di controllo automatizzato spaziale, aereo e terrestre.

e

A metà degli anni '80 iniziò il terzo stadio di sviluppo dei computer Argon. Nel 1986 fu adottato il programma statale il cui obiettivo era quello di creare famiglie unificate di computer portatili, le cosiddette SB EVM, basate su architetture ES EVM, POISK e SM EVM.

Uno di questi, il computer aereo SB-3580, aveva:

Funzione di programmazione: sistema incrociato OS RAFOS-11. I linguaggi di programmazione includono: Assembler, Si, Pascal, Fortran.а

fonte: Presentazione di Argon


13
Penso che Si sia in realtà solo C. In realtà ho usato un marchio sovietico di compilatore C chiamato СиМ86 (per il clone CP / M chiamato М86)
fionbio,

20
Sì, C è scritto Си (Si) in russo.

4
foneticamente, dicendo "Si" suona come l'inglese "C" in latino e, presumo, lingue slave.
Victor S

8
C, Señor. El mejor lenguaje.
ObscureRobot

RAFOS-11 è un altro nome per RT-11.
sendmoreinfo,


17

Mi sono imbattuto in questo articolo nel quaderno di citazione ACM alcuni anni fa, " Una storia di APL in URSS ". È stato scritto da Andrei Kondrashev (Centro di calcolo dell'Accademia delle scienze russa) e Oleg Luksha (Il centro educativo di Obninsk).

Una citazione interessante dall'articolo:

Potrebbe essere interessante notare che APL era direttamente correlato al design della navetta spaziale sovietica "Buran". La protezione dal calore è uno dei principali elementi nella costruzione di apparecchi di quel tipo. È realizzato con materiali di composizione. I modelli matematici del processo di essiccazione e tostatura delle piastre che coprono lo scafo sono stati realizzati con l'aiuto di APL. Di conseguenza, la percentuale di difetti durante la produzione delle piastre di copertura è stata ridotta, risparmiando molto denaro e fatica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.