37
$\begingroup$

What is the coding language used for the software used on the ISS? Is it NASA's own coding language, or is it something like C, or C#, maybe Haskell?

$\endgroup$
  • 8
    $\begingroup$ Don't forget one of my least favorite languages, Ada. $\endgroup$ – Organic Marble Jun 3 at 2:35
  • 2
    $\begingroup$ Related: space.stackexchange.com/q/14605/6944 $\endgroup$ – Organic Marble Jun 3 at 10:42
  • 1
    $\begingroup$ Related: space.stackexchange.com/q/13539/6944 $\endgroup$ – Organic Marble Jun 3 at 11:32
  • 9
    $\begingroup$ "The software" - makes it sound like there's a single monolithic program running everything. This won't be the case. There will be hundreds of subsystems, each with several levels of hardware and software automation, each of which will have been built with on a number of tools, technologies, and platforms. $\endgroup$ – J... Jun 3 at 15:44
  • 2
    $\begingroup$ @David I know. Well, at second hand. At one point I worked on a particle physics project where we were going to weld some embedded boards into a big steel can, and we have a series of seminars given by NASA reps on how you try to achieve reliability when you can't stick a paperclip in the reset hole. As a self-aware programmer the whole business is very scary because I know I'm not automatically that good. $\endgroup$ – dmckee Jun 4 at 22:31
54
$\begingroup$

Almost all of the safety critical software that runs on the US side of the Space Station is written in Ada. I wrote "almost all" rather than "all" because there are probably some low level device drivers written in assembly. I can't find out in which language / languages the code that runs on the Russian side was written. I wouldn't be surprised if that also is largely Ada.

Non-safety critical software (e.g., anything running on a laptop) is written in a mix of languages.

$\endgroup$
  • 20
    $\begingroup$ Wow, this makes me curious as to What makes Ada the language of choice for the ISS's safety-critical systems? $\endgroup$ – uhoh Jun 3 at 7:38
  • 8
    $\begingroup$ @PearsonArtPhoto - If it's safety critical, yes. The safety critical software runs on the so-called Multiplexer-Demultiplexer (MDM) computers and critical display devices. Non-safety critical software runs on laptops. $\endgroup$ – David Hammen Jun 3 at 12:13
  • 9
    $\begingroup$ What are your sources? $\endgroup$ – Bruno Pérel Jun 3 at 15:20
  • 4
    $\begingroup$ @Bruno most likely inside information. (This person appears to work there) $\endgroup$ – Shadow Jun 3 at 20:36
  • 1
    $\begingroup$ @Nefrin - That is true to some extent, and apparently more so in Europe than in the US. That the US Department of Defense dropped the Ada mandate 20 years ago led to many project managers having new projects be coded in anything but Ada. $\endgroup$ – David Hammen Jun 5 at 12:20
15
$\begingroup$

There are a lot of programs involved in running the ISS. The exact details are difficult to discern, a lot of NASA's software is available via this site, with some restrictions, but here is what I can find.

  • Astrobee- Runs the "Robotic Operating System"
  • Geolocation via a Python Library
  • Some elements use LabView

I'm sure there are many other languages, including C, C++, and C#, among others, but it would be very difficult to get a complete list.

$\endgroup$
  • 10
    $\begingroup$ software.nasa.gov is where NASA catalogs it's released software. Much of the software for the ISS is not releasable. $\endgroup$ – David Hammen Jun 3 at 4:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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