DEV Community

Cover image for SpaceX and Javascript🚀

SpaceX and Javascript🚀

Ali Abbas on June 02, 2020

Yes, its damn true. SpaceX in its recent launch Dragon 2 Flight has used a technology based on Chromium and Javascript CGPA Calculator - CGPA ...
Collapse
 
gypsydave5 profile image
David Wickes •

Nobody told the astronauts, right?

Collapse
 
sharadcodes profile image
Sharad Raj (He/Him) •
Collapse
 
questary_stm profile image
Questary •

Hope so

Collapse
 
fasani profile image
Michael Fasani •

lol

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.

 
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
 
not_jffrydsr profile image
@nobody •

Brendan must be so proud his passion project broke through the stratosphere, (even if only for a UI). 🌟

I wonder why CommonLISP (or any robust LISPy code system) isn't used more ubiquitously for highly-dependable systems.

Don't know a whole ton about C or C++, just know LISP can address all their concerns plus virtually everything else in Computer Science (being based of Church's λ-Calculus) with an AST comparably faster, safer, and superiorly abstracted than C.

Am I tripping?

Collapse
 
damxipo profile image
Damian Cipolat •

I do not think that the people of spacex are improvised if they chose this technology for something it should be and achieved a level of maturity much higher than most think. I think this opens new doors for js and the power he is coming to have.

Collapse
 
pinotattari profile image
Riccardo Bernardini •

This sheds a very ugly light on SpaceX and their commitment to quality. I mean, managing something as risky and complex as a rocket with a web browser and a language as frail as Javascript? A language that converts everything in everything else, making equality not transitive? A language that allows this
destroyallsoftware.com/talks/wat ?

No, definitively it is not acceptable, even if it controls just some minor stuff. A bug there could trigger a cascade.

Collapse
 
caroso1222 profile image
Carlos Roso •

Yet they managed to dock into the ISS successfully. Is that unacceptable to you too? You would've coded the ui with assembler I assume.

People trash languages just for trashing them. It literally doesn't matter if you get to space with that, you won't be taken seriously. I don't find the logic in that argument.

Collapse
 
fasani profile image
Michael Fasani •

Bugs speak more to the developer than the language. People bash JavaScript because they jump in without understanding it.

Collapse
 
dividedbynil profile image
Kane Ong •

Using any language or runtime is acceptable as long as they handle the risks properly.

Collapse
 
fasani profile image
Michael Fasani •

I wonder if they added an F5 button? Just in case...

Collapse
 
dividedbynil profile image
Kane Ong •

Haha, I bet they have Ctrl+R too!

Collapse
 
elliot profile image
Elliot •

Typescript? I hope?

Collapse
 
questary_stm profile image
Questary •

Javascript a strong Script

Collapse
 
realabbas profile image
Ali Abbas •

Yeah Exactly they are mature now!

Collapse
 
ben profile image
Ben Halpern •

I presume it was not the programming language's fault that those Boeing planes crashed tragically last year. So it won't be JavaScript's fault if things go wrong here. It's just one choice in a set of many tools to get the job done. Hopefully all necessary precautions were made and it was not used to do the things the language might be terrible at.

 
dm8typrogrammer profile image
The Mighty Programmer •

Yes, equivalent hardware overrides are in place.

Collapse
 
nikhilroy2 profile image
Nikhil Chandra Roy •

They might be used tensorflow js

Collapse
 
realabbas profile image
Ali Abbas •

No. They are using Javacript for UI Interface

Collapse
 
zyabxwcd profile image
Akash • • Edited

I wonder if they should have gone with Typescript atleast although while I was learning Typescript, I was feeling that its too verbose and maybe making the codebase a lot bigger and complicated at someplace by forcing us to declare types again and again. There are subtle Typescript specific behaviour that might just cause debugging harder but SpaceX should and I dont know if they already have but they should conduct an AMA or podcast or conference about challenges and choices they faced and made with regards to software.

Collapse
 
sharadcodes profile image
Sharad Raj (He/Him) •

Try this out first

Collapse
 
camohub profile image
camo •

Try this in console

('b' + 'a' + + 'a' + 'a').toLocaleLowerCase()
Enter fullscreen mode Exit fullscreen mode
Collapse
 
realabbas profile image
Ali Abbas •

Make sense 😂

Collapse
 
dansimiyu profile image
dan-simiyu •

Good stuff!

Collapse
 
easrng profile image
easrng •

Oh god, don't tell me it was electron.

Collapse
 
realabbas profile image
Ali Abbas • • Edited

Hahahha. Yeah really Electron is too heavy.! In this case, I would prefer PyQt

Collapse
 
_hs_ profile image
HS •

Interface as in UI.

Collapse
 
realabbas profile image
Ali Abbas •

Yeah.

Collapse
 
caroso1222 profile image
Carlos Roso •

Oops you're going to hit a nerve in die-hard fundamentalists who code just about anything in Assembler or byte code.