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.