Live data from Hacker News

The software that flies SpaceX rockets and starships

stackoverflow.blog

91–100 of 112 posts

Re: The software that flies SpaceX rockets and starships

#91

Earlier quoted context omitted.

Interesting they didn't go with Ada/SPARK, to be honest.

Ada/SPARK is pretty close to unheard of in the US. People tend to solve problems with the languages they know and can find people to hire who know it. C++ is fast, and there's a good number of people to hire who know it. Actual comments I've heard from senior developers when I tell them I write Ada in my spare time: - "That language is still around?" - "Other than you, I've never heard or anyone who has ever used Ada…

Ada/SPARK is pretty close to unheard of in the US.

I'm confused, I knew a woman in the early 2000s that worked out of Fort Dix in New Jersey, doing ADA development for U.S. Army tanks. She told me that ADA was the standard language for military hardware. Can anyone confirm or deny this?

Re: The software that flies SpaceX rockets and starships

#92

Earlier quoted context omitted.

Ada/SPARK is pretty close to unheard of in the US. People tend to solve problems with the languages they know and can find people to hire who know it. C++ is fast, and there's a good number of people to hire who know it. Actual comments I've heard from senior developers when I tell them I write Ada in my spare time: - "That language is still around?" - "Other than you, I've never heard or anyone who has ever used Ada…

Ada/SPARK is pretty close to unheard of in the US. I'm confused, I knew a woman in the early 2000s that worked out of Fort Dix in New Jersey, doing ADA development for U.S. Army tanks. She told me that ADA was the standard language for military hardware. Can anyone confirm or deny this?

There was historically a push along these lines (Ada as official DoD language for the software on the systems it buys).

I don't have the whole story as to when and how this stopped being a requirement (1990s?), or if it was ever a true requirement, but in U.S. DoD aerospace today, Ada is uncommon. I'm not sure of any new systems developed over the past 20 years that are based on Ada. Perhaps some of the avionics suppliers like Honeywell or Rockwell Collins that historically used Ada still do, but I don't think most aerospace prime contractors do today.

The prevalent U.S. Government view is that the industrial entities that implement systems should have the latitude to decide what they want to use. For DoD systems, they would just be expected to have the DoD conduct reviews of their software/system design. [Sadly, such reviews vary wildly in their quality and how much companies' feet are held to any fire.]

Keep in mind the FAA requirements for civil aircraft certification are different from DoD's airworthiness assessments. And then launch vehicles and spacecraft are assessed/certified on a different basis than aircraft.

Re: The software that flies SpaceX rockets and starships

#93

Interesting they didn't go with MISRA C and used C++ instead.

i would say it is interesting they did not use ada. best language every designed for this problem domain.

Can't churn through engineers at the rate SpaceX do with Ada vs C++. They'd run out of replacement staff very quickly.

Re: The software that flies SpaceX rockets and starships

#95
A bit of a disappointing read. All I got out of it is that the individual control systems run at 10 or 50 Hz (less than I expected).

From my own background knowledge I remember that the rockets actually run on Intel chips and the Dragon touchscreens are Chromium-based (less certain about that one).

I was hoping for a lot more details like that.

Re: The software that flies SpaceX rockets and starships

#96
post #72

Earlier quoted context omitted.

It's interesting how much contempt people have around here for one of the most successful open source oriented companies in recent memory. Most of the bad things about MongoDB are actually bad things about the NoSQL fad, and that fad was huge around here a few years ago.

I used NoSQL databases that are ACID.

I used acid and selected a nosql.

Re: The software that flies SpaceX rockets and starships

#97
post #4

They're not running a dependency-ridden NodeJS backend with MongoDB and random cloud services? How are they even able to get to space?

They're only using C++ which has 1,853 pages worth of complexity[1] along with all the toolchains that go on top of it. [1] https://www.iso.org/standard/79358.html

Most of the standard is taken by the description of the standard library ; the language specs ends at page 457 in C++20 (last draft). How long would be your language spec if every single function's documentation was part of it ?

To give a reference with other languages:

- This is a bit less than C# (whose standard language spec ends at page 462 in ECMA-364 2nd ed.).

- The python spec for 3.9.9 is 151 pages. Okay, but let's compare equivalent things in the C++ spec and Python spec: awaiting a coroutine.

* In Python (the whole "await" spec):

    Suspend the execution of coroutine on an awaitable object. Can only be used inside a coroutine function.

      await_expr ::= "await" primary 

    New in version 3.5.
* In C++ (5% of the "co_await" spec):

    The co_await expression is used to suspend evaluation of a coroutine (9.5.4) while awaiting completion of the computation represented by the operand expression.

      await-expression :
          co_await cast-expression

But, for C++ this is only the first sentence (which is not written in an abbreviated style but as a proper sentence). Then a whole page explains the semantics in detail, and gives a complete example of how to use it. The python spec is just insufficient in comparison.

Re: The software that flies SpaceX rockets and starships

#98

Earlier quoted context omitted.

They're only using C++ which has 1,853 pages worth of complexity[1] along with all the toolchains that go on top of it. [1] https://www.iso.org/standard/79358.html

Most of the standard is taken by the description of the standard library ; the language specs ends at page 457 in C++20 (last draft). How long would be your language spec if every single function's documentation was part of it ? To give a reference with other languages: - This is a bit less than C# (whose standard language spec ends at page 462 in ECMA-364 2nd ed.). - The python spec for 3.9.9 is 151 pages. Okay, but…

I'm sure it would be long. The point was more that pretty much every (productive) development environment is complex.

Re: The software that flies SpaceX rockets and starships

#100

This is a re-upload from earlier in the year.

Yup:

Exploring the software that flies SpaceX rockets and starships - https://news.ycombinator.com/item?id=27115372 - May 2021 (112 comments)

Also related:

SpaceX Software Team AMA - https://news.ycombinator.com/item?id=23444738 - June 2020 (6 comments)

We are the SpaceX software team, ask us anything - https://news.ycombinator.com/item?id=23432996 - June 2020 (28 comments)

Software Engineering Within SpaceX - https://news.ycombinator.com/item?id=23403800 - June 2020 (313 comments)

We Are SpaceX Software Engineers - https://news.ycombinator.com/item?id=13705762 - Feb 2017 (6 comments)

Post reply on HN