30
$\begingroup$

I was reading a post related to the operating system of American Space Shuttles, then wondered what might Soviets have used. I found a CIA document and several forums saying that Prolog was used in the Buran. I have experience in object oriented and a decent understanding of logic programming languages but I can't find a reason why they might have chosen such a complicated way of developing a system.

$\endgroup$
2
  • 3
    $\begingroup$ Obligatory video of Bald & Bankrupt breaking in to see the Buran and causing an international incident 😆 $\endgroup$ Commented Sep 19, 2023 at 4:49
  • 1
    $\begingroup$ Prolog would be an incredibly odd - and I might say impossible - choice of programming language for a realtime system like controlling a space plane - even moreso in the period of Shuttle and Buran development. Prolog is a language for expressing pure logic and is used in AI, pattern matching, etc. I don't even know if it can do this kind of realtime command and control task - in that era doing things like tight memory and performance control, interfacing to specialized hardware, etc would likely make the choice C, or even assembly. $\endgroup$ Commented Sep 19, 2023 at 19:02

1 Answer 1

38
$\begingroup$

According to Wikipedia the use of prolog is just a mistake in the CIA report:

Researchers at Keldysh developed two languages: PROL2 (used for real-time programming of onboard systems) and DIPOL (used for the ground-based test systems), as well as the development and debugging environment SAPO PROLOGUE

...

A declassified May 1990 CIA report citing open-source intelligence material states that the software for the Buran spacecraft was written in "the French-developed programming language known as Prolog", possibly due to confusion with the name PROLOGUE.

$\endgroup$
2
  • 15
    $\begingroup$ This makes a lot more sense. I was very confused upon reading the OP's question why they would choose Prolog over Refal, which is a language designed in the USSR that would give most of the same benefits that you would get from Prolog. So, it turns out, they used neither :-D $\endgroup$ Commented Sep 17, 2023 at 16:54
  • 1
    $\begingroup$ The "virgin" Mary of the space age... $\endgroup$ Commented Sep 19, 2023 at 10:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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