James Webb Space Telescope uses JavaScript engine last updated in 2003

Jan

Who's the Boss?
Staff member
Joined
May 24, 2010
Messages
14,768
Reaction score
13,413
Location
The Rabbit Hole
James Webb Space Telescope runs 20-year-old JavaScript engine from bankrupt company

The James Webb Space Telescope (JWST), which has already delivered some astonishing images, is primarily controlled by JavaScript code based on a software development kit from 2003.

The Verge reports that a manuscript for the JWST's Integrated Science Instrument Module (ISIM) reveals that the software for the module is controlled by the Script Processor Task, which "runs scripts written in JavaScript".
 
Some very clever people put this marvel of technology up there, and others who have accomplished fa in their lives see fit to nitpick little details.
Exactly. Question is, is it fit for purpose? A simple basic coding structure could be a lot better to have way up there than a more modern program that still has bugs to sort out.

I would rather overland through Africa with a Land Cruiser from the 1980's that I can fix with a hammer and some wires, than the latest LC300
 
It doesn't surprise me. For these rovers and satellites that are outside of earth's protective bubble it's all about what they know works. The Perseverance rover has a CPU from the 90s: https://www.theverge.com/tldr/2021/3/2/22309412/nasa-perseverance-mars-rover-processor-cpu-imac-1998
While the little drone has a Snapdragon 801 processor, it's not radiation hardened so they are not sure how long it will last. It's all about stability, hardening, being aware of every little issue and work around, and knowing exactly how it will perform for mission critical tasks.
 
I was under the impression that most of these space vehicles are programmed using assembly language which gives you maximum bang for your back with the limited CPU and RAM that these vehicles typically have. I find it really hard to believe that they would use Javascript which is not even a low-level programming language.
 
Why is anyone shocked? Work started in 2002. They can't take code from a few weeks before the launch and expect it to all work.
 
The Apollo moon missions' landing software was known to have less ability than a basic calculator.

It's a myth that some old tools can't have value.
 
Thanks, some interesting comments, here's a few;


"JWST uses an extended version of JavaScript, which was developed as a COTS product called Nombas ScriptEase 5.00e. ScriptEase provides functionality common to many modern software languages and follows the ECMAScript standard."

It is common in such commercial agreements to provide source code or to escrow source code with a third party service with conditions that trigger release of the sources (eg bankruptcy or sale to another company that discontinues the product). So it is possible they have the full source.
It is also worth considering that the JS engine likely hasn't changed much (if at all) in the past 15 years. Its bugs and limits are well-known at this point.
It is also an interpreter which makes it slower* but less subject to vulnerabilities that impact the host. Honestly that's probably the correct choice for a spacecraft where reliability and safety is more important than performance.
Don't get me wrong: JavaScript is a big ball of WAT and nonsense we've spent way too much effort improving but I don't blame them for making the choice so long ago and sticking with a known quantity rather than risk introducing new problems by changing things.
 
It's not unusual. There are components of Windows and MacOS that have not been updated in 25 years.
 
Top
Sign up to the MyBroadband newsletter
X