DEV Community

loading...

Discussion on: SpaceX and Javascript🚀

Collapse
dm8typrogrammer profile image
The Mighty Programmer

It is not about JavaScript maturity; it is about design choice. Garbage Collectors based languages are not used in mission-critical tasks because they may turn non-deterministic. It is not with C and C++ because, as a programmer, you control all the aspects.

Collapse
oliverandrich profile image
Oliver Andrich

Research a bit the origins of Erlang. This is a garbage collected real-time capable language and runtime environment used in mission critical systems like telephone switches, that handle millions of connections. So, you argument is not fully true. It boils down to, that they use a realtime capable languages for mission critical systems. And that was a very good design choice!

Thread Thread
dm8typrogrammer profile image
The Mighty Programmer • Edited

Yes true, it is all about stronger determinism guarantees.

Also, I agree in case of garbage collected (GC) Functional Programming languages, GC can offer stronger determinism due to immutability imposed by these languages which make them realtime capable. Even in case of Java, there are some GC algorithms can offer determinism guarantees.

So in the end, any language runtime, if it can provide stronger determinism guarantees can be used for mission critical systems.

Collapse
lifelongthinker profile image
Sebastian • Edited

I agree with what you say. Though it was my understanding that JS and Chromium were only used for UI purposes. And for those these two technologies are mature enough to do the work.

I don't think SpaceX would use JS and Chromium for mission-critical parts. I also assume that there are overrides in place in case the touch screens or their UI stop working.

Thread Thread
dm8typrogrammer profile image
The Mighty Programmer

Yes, equivalent hardware overrides are in place.