The $9B James Webb Space Telescope Runs JavaScript

(theverge.com)

19 points | by jakey_bakey 9 months ago ago

12 comments

  • wormlord 9 months ago

    This is cool. It looks like the creator of the ScriptEase engine wrote about it here [0].

    It would be cool to see a style or testing guide to see how they prevented bugs from shipping.

    [0] https://brent-noorda.com/nombas/us/index.htm

    • classichasclass 9 months ago

      Another really wacky part is this (Nombas ScriptEase) is the same JS engine used in BeOS NetPositive. Be licensed it, though the layout engine was in-house.

  • consumer451 9 months ago

    This reminded me about the fact that SpaceX's Dragon human-rated spacecraft uses Chromium, HTML, CSS, and JS. [0]

    I used to find this surprising. I still do, but I used to, too.

    [0] https://news.ycombinator.com/item?id=23403800

  • TheUnhinged 9 months ago

    I wish this kind of SW was open source.

  • ninetyninenine 9 months ago

    I mean people bitch but I find js to be safer than C++. These kinds of things really need to use rust.

    • Koshkin 9 months ago

      I doubt that a dynamically typed interpreted language can be "safer" than a statically typed compiled language.

      • ninetyninenine 9 months ago

        That's because you actually haven't used C++ that much or you haven't used js that much or both. In practice, despite the type system, it is actually less safe. There are bugs in C++ that are so subtle nobody can find it for years.

        Javascript is practically safer because each crash leaves an incredibly obvious stack trace about what caused the crash. It leads to programs with less bugs then C++.

      • Pet_Ant 9 months ago

        I mean if it prevents pointer arithmetic and use after free it can be.

        • Koshkin 9 months ago

          In C++ (specifically) one can limit oneself to using safe constructs provided by the standard library. (C is a different story, of course.)

          • xscott 9 months ago

            I think somebody could write a safe C++ library, but the STL hands out dangling references like candy at Halloween. It's very easy to get use-after-free problems with it.

            • Koshkin 9 months ago

              I don't know what you are talking about. (What I meant was, the need for pointer arithmetic can be avoided by using iterators, and use-after-free, by using smart pointers.)

              • xscott 9 months ago

                > I don't know what you are talking about.

                I can see that.

                Iterators don't do what you think they do. A random access iterator on std::vector is practically indistinguishable from a pointer. It doesn't check for out of bounds, and if you resize the vector, your iterator can be "invalidated", meaning it quietly points to memory that has been freed already.

                You can even do arithmetic on random access iterators the way you do with pointers.

                I agree that smart pointers are nice.