Tired take... I promise that if your JS app ran in 2022 and you completely isolated the computer from the internet, your JS app would still run in 2067. This is completely unrelated. Also JS is probably one of the easiest language to repro, if you have a lockfile you're good to go.
Stuff today has been so hilariously abstracted on such thick layers of complexity pressed into neat "simple" blocks that it's almost miraculous anything works day-to-day.
Fun fact: we call this "firmware" and it still exists today!
Once you fully internalize that your buggy program is running on a buggy framework, in a buggy language, in a buggy sandbox, on a buggy virtualization, on a buggy file system, scraping along on buggy silicon running buggy microcode, managed by other buggy silicon running buggy firmware, using peripherals with their own buggy silicon and firmwares, with everything happening billions of times per second (a car engine typically doesn’t reach a billion cycles over a 20 year lifespan ), it seems mind bogglingly improbable that anything works at all lol.
The fact that it does work, and can even routinely reach 5 nines, is a testament to the generosity of the universe… and a good argument for making sure that to whatever extent possible, you should write your software to be resistant to random events and erroneous operations. Fail safe/ fail soft, fail and retry, fail and restart. The more resilience we build into our work, the less angst we create in the world.
It’s amazing to see both the half hour miracle of engineering and the half century one playing out at the same time. I just hope our accomplishments today will in some way be as durable as those of generations past.
Everything we create is to save on our most precious resource: human effort and time.
AI is so ridiculously wasteful if you think about it, from a computing point of view. But, it doesn’t require us to write a dedicated piece of code for each new problem, thus it’s saving humans effort and time.
Of course, the question remains, what does come out of all this productivity?
But hey, maybe you won't even be able to login if you do so through a Google/Microsoft/Apple ID.
...and you use an SSD? Be amazed at how fragile they are. Chances it will be running 45 years are... not good.
https://descanso.jpl.nasa.gov/DPSummary/Descanso4--Voyager_n...
So much software nowadays is written like it's a disposable item (and then the company decides to keep using what amounts to a 2006-era paper cup from McDonalds every day in a business-critical process for the next 20 years).
There's so much scaredness, anger, and mistrust of js. But this tired take was with us, and still is with us, and will keep being with us for a long long long time. Nothing else comes as close to being a media form as HTML+js+css.
But then again, why the fuck does that fail now?
I had a friend who was convinced that JPEGs would slowly degrade sitting on a disk. This was around 1990s so he would store important things in BMP so they would not degrade.
I think node_modules has something similar.
Come to think about this, we used a lot of different software and switched them as Windows would not open JPEGs by itself I believe.
JS isn't the problem, it's the overcomplicated dependency and build systems that were layered on top. It's why Go is a breath of fresh air. A 10 year old codebase will still build and run like it was made yesterday.
This is what it's like for me, working with an offshore QA group.
I wager that Voyager 1 is way simpler than Node.js.
Reminds me of working at the branch office with HQ on the opposite side of the world.
The modem dpeed was in low one-digit bytes per second so you were careful thinking about what you send.
Meanwhile a javascript app of mine from 2022 does not build now because I can’t get it to install the dependencies for some reason.
BTW, that transmitter apparently can not transmit back to earth at this point because it is too far away. But looks like it can receive (we can transmit with much higher powers here?) and they managed to send a command to restart the primary transmitter. Now debugging.
Debugging on a 2 day feedback loop. Fuck that.