311

I got interested in the Soviet space program and was interested to discover that the software on the Buran spacecraft circa 1988 was written in Prolog.

Does anyone know what languages might have been used in earlier missions, especially the Mars PrOP-M rover missions of the early 1970s which were somewhat autonomous and could navigate obstacles?

Edit

My source for the Buran Prolog is this declassified document from the CIA site from May 1990. I couldn't find an OCR version, so here's the relevant quote from p. 0449:

According to open-source literature, the Soviets used the French-developed programming language known as Prolog to develop on-board system software for the Buran vehicle...

8
  • 5
    are you interested in all the projects listed in Wikipedia article you refer to - from 1957 to 1987? or to 2011? Also, assuming that Soviet computers were used in their space program, would languages that run on these qualify?
    – gnat
    Commented Apr 23, 2012 at 17:48
  • 2
    I would suspect that the early Russian space program probably used analog computation devices, much as the U.S. Army Air Corps and early U.S. space program both did. I've heard rumors that the Soviet Russians relied more heavily on analog computers than the U.S. did, but I can't confirm the source. The analog computers were usually faster and more accurate than the digital computers of their time, but were not as flexible (build for a single purpose). Commented Apr 23, 2012 at 19:00
  • 1
    @DaveKennedy You are correct, in that the Soviet Union used analog computing more than the U.S. did, up through the 1970's. I was assigned a project using an analog computer in 1982 (in the U.S.) and recall my mech engineering professor telling me that analog computers had been used extensively and successfully in the U.S.S.R. I'll try to get some more info so I can maybe actually answer this question too.
    – Ellie K
    Commented Apr 24, 2012 at 17:17
  • 2
    Reddit discussion on this question.
    – yannis
    Commented Jun 5, 2012 at 5:31
  • 1
    I'd say that any claim starting with "According to open-source literature" could be wrong - the space program was classified and so deliberate disinformation could be put in open-source literature.
    – sharptooth
    Commented Jun 5, 2012 at 7:59

4 Answers 4

226

There's a book in Russian, German Noskin, First computers (literally board digital computing machines) for space applications (Герман Носкин, Первые БЦВМ космического применения), ISBN 978-5-91918-093-7.

The author himself participated in many early projects (mostly in hardware) and according to him analog hardware was in favor for a long time, he mentions that space rendezvous tasks didn't use digital computers until the late 70's. Due to this policy many digital computers were really proofs of concept although used in other areas of soviet economics. The first computer according to him used on-board was the Argon-11S (Аргон-11С) on the unmanned missions to the Moon closer to Apollo-8 in time. Also Noskin briefly says that the on-board computer Salut-4 was compatible with general-purpose computers ES used in Soviet economics so it was possible to develop software in PL-1 and Fortran.

There are several mentions of Buran program languages on Russian websites. According to Vladimir Parondjanov, an engineer from the program (Russian Post) three languages using Russian as a base were developed: PROL2 (ПРОЛ2) for onboard programs, Dipol (Диполь) for earth tests, and Laks (Лакс) for modelling. All of them were intended for use not only by professional programmers but also engineers from other areas.

When the Buran program was closed they were merged into a new language Drakon (Дракон, Russian word for "Dragon") that is claimed to be be a "graphical" language having 2-dimensional descriptions of the programs and using arbitrary well-known languages for code generation. This language was also intended for use by non-programmers. The language probably does not have and international community and isn't even well-known within Russia although heavily promoted by its author, Vladimir Parondjanov (the Russian Wikipedia article article is very long and was even deleted once for not following Wikipedia rules). Drakon was first used for programming for the Sea Launch missions and has been used in other Russian space programs since.

4
  • 3
    Great answer! I poked around some more and found this interview in which the interviewer says 'I was told that the Argon-11S had been installed on a space vehicle sent to Mars.'
    – shamp00
    Commented Apr 27, 2012 at 11:23
  • Good answer, but Sea Launch is not a Russian program. It's cooperation of US, Russia(upper stage), Norway and Ukraine(carrier rocker).
    – defhlt
    Commented Aug 7, 2012 at 9:45
  • As a reference, ES were direct soviet clones of IBM's S/360 mainframes. Huge-a$$ beasies.
    – DVK
    Commented Dec 16, 2012 at 8:43
  • That DRAKON stuff looks pretty much like UML activity diagrams. Or did I miss something important? Commented Oct 18, 2016 at 13:09
31

In the 80s, the third generation of Argon airborne computers used Pascal, Fortran and Si. (Si?). I have not found any other language beside assembler used before that.

From Argon airborne computer history

Argon family was created in three stages. During the first stage (1964 - mid 70s) 11 types of computers for space, airborne and ground automated control systems were produced.

and

In mid80s the third stage of development of Argon computers began. In 1986, the state program was adopted whose goal was to create unified mobile computer families, so-called SB EVM, based on ES EVM, POISK and SM EVM architectures.

One of these, the SB-3580 airborne computer, had:

Programming facility: OS RAFOS-11 cross-system. Programming languages include: Assembler, Si, Pascal, Fortran.а

source: Introducing Argon

5
  • 13
    I think Si is actually just C. I did actually use a Soviet brand of C compiler called СиМ86 (for CP/M clone called М86 )
    – fionbio
    Commented Jun 4, 2012 at 9:57
  • 20
    Yes, C is written Си (Si) in Russian.
    – user55768
    Commented Jun 4, 2012 at 14:05
  • 4
    phonetically, saying "Si" sounds like English "C" in Latin and, I presume, Slavic languages.
    – Victor S
    Commented Jun 4, 2012 at 16:52
  • 9
    C, Señor. El mejor lenguaje. Commented Jun 4, 2012 at 17:56
  • RAFOS-11 is another name for RT-11. Commented Jun 4, 2012 at 22:31
22

My father worked in ЦНИИ РТК and participated in the development of software for Buran manipulator ( http://www.buran-energia.com/bourane-buran/bourane-consti-bras.php ) Software was developed on ES EVM (Soviet clone of IBM S/360-370) using Fortran due to heavy computations.

17

I came across this article in ACM quote quad a few years ago, "A History of APL in the USSR". It was written by Andrei Kondrashev (Computing Center of the Russian Academy of Sciences) and Oleg Luksha (The Obninsk Educational Center).

An interesting quote from the article:

It may be of interest that APL was directly related to the design of the Soviet space shuttle "Buran." Heat protection is one of the major elements in the construction of apparatus of that type. It is made out of composition materials. Mathematical models of the process of drying and roasting of plates covering the hull were made with the help of APL. As a result, the percentage of defects during the production of the cover plates was reduced, saving a lot of money and effort.

Not the answer you're looking for? Browse other questions tagged or ask your own question.