Nombas ScriptEase

$9Bn James Webb Telescope Relying on Outdated Nombas JavaScript Engine

April 24, 2019 Posted by Programming 0 thoughts on “$9Bn James Webb Telescope Relying on Outdated Nombas JavaScript Engine”

According to a paper written in anticipation of  the 2006 SpaceOps Conference, the decades in the making James Webb Telescope is supposed to be an event-driven telescope. Dr. Vicki Balzano and John C. Isaacs gave this for their reasoning behind employing event-driven scripts: “To take advantage of the opportunity offered by the JWST environment to increase science efficiency and to decrease the ground system development cost…”

In the end, the language of choice was JavaScript. NASA planned  on using an on-board commercial JavaScript engine called ScriptEase from Nombas, a company that now no longer exists. According to Brent Noorda, co-founder of Nombas, “Nombas was the leading developer, innovator, licensor, and evangelist of script language tools, licensing their JavaScript engines and tools to C, C++, and Java developers for everything from embedded devices to massively parallel servers.”

Perhaps, in choosing JavaScript, NASA has found out how quickly a language and its dependencies can change over the years. The JavaScript of 2006 looks very different from the JavaScript of today, which makes one wonder why a more embeddable event-driven language like Lua wasn’t considered. For those like NASA stuck with a technology that will be difficult to maintain, Brent gave modern alternatives to ScriptEase:

  • List of ECMAScript engines – Look to this Wikipedia page for other javascript engines, although only a couple have good embeddable libraries. ScriptEase isn’t there anymore–which makes me sad–althought it still gets lots of legacy use.
  • Rhino – Javascript engine written in Java. I don’t know why it’s not in the List of ECMAScript engines.
  • – Not ecmascript, but is guided by a small/fast/embeddable/minimalist philosopy similar to the original Cmm.
  • node.js – Server-side javascript. It’s coming back, baby! I’ve been playing with node.js lately, and quite enjoy it. Imagine the fun of turning adding a couple of the old CEnvi features, and turning into a cross-platform desktop environment for automation, thin servers, and so on, then CEnvi/SE:Desk would be back……
  • dnode “freestyle rpc” – I really nice-looking implementation of what we used to call “distributed scripting”. Perhaps nowjs is on the right track, too. Or maybe meteorjs. Or maybe Yahoo’s Cocktails & Mojito.


So many of these new JavaScript technologies have come on very recently, and one can only wonder if NASA’s additional delay has something to do with refactoring JavaScript code that has quickly become legacy since they started development before 2010. Though, this recent  quote from Brent says otherwise:

“I led the team that created the JavaScript interpreter JWST is using, and I still occasionally work with them on it. 16 (or so) years ago I was blown away at the amount of research NASA did covering all of the control language options, and of course glad that they selected ours. The language itself wasn’t so important as having adequate performance, robustness, memory use, reproducibility and extreme QC.. the way I remember thinking about it was that when your system is running a million miles away, you can’t send an IT tech to press ctl-alt-del when something goes wrong. IMHO they made a well-researched choice that continues to hold up.”

So, perhaps NASA has nothing to worry about.

Please follow and like us: