For me, the big story is going to be supply-chain breakup and de-globalization. The author touches on this a bit, but completely misses the implication.
The programming languages that will best survive the apocalypse are the ones that can run on chips that best survive the apocalypse! I think that there're be a big turn toward highly-efficient compiled languages: Rust and Go are well-positioned for this, C will still be around, but languages like PHP and Ruby are very poorly suited for this. Anything that can be adapted to run on a microcontroller that you can scavenge from old cars that no longer can get gas will be in high demand.
I also think we'll see a turn toward more local production of semiconductors, which may require moving back in process nodes toward older technology where the supply chain and manufacturing process isn't as complex.
I don't think backwards-compatibility is as important as the author thinks it is. Enough other things are going to break in the economy that people will be willing to make due with software that gives them basic communication & computation abilities even if it doesn't have all the bells and whistles of modern software, particularly if modern software becomes completely unavailable due to infrastructure failures like cable lines coming down and there not being enough power to run datacenters.
Final thoughts: I think distributed technologies like mesh networks, data synchronization algorithms, networking, (proof-of-stake/storage) blockchains, etc. will become significantly more important. I wouldn't count on the cloud surviving: it has a lot of physical infrastructure dependencies, and physical infrastructure is already crumbling. Software that you can run locally on a device and communicate over unreliable networks will become very important.
One should first ask what is the actually useful task for computers. Right now it is often things like powering ad networks, tracking engagements, running tax code for millions, calculating sha 256 hashes. Would any of this be useful in apocalypse? If not what would be?
There's tons of stuff that would be useful in an apocalypse. Things like:
1.) Communications. Being able to send over plans for a useful tool, or instructions for repair, or a meeting place for the defense of a village becomes critical.
2.) Entertainment/education. Threads shows the post-apocalyptic children watching a VHS video of animals & grammar. If you can preserve even just the PBS Kids catalog on local disk and have a working computer, you'll be in huge demand as the town's babysitter, and it's far easier to do this at scale with video than individually keep dozens of kids occupied.
3.) Local records. It's critical to catch freeriders for any communal endeavors, because if you don't, community breaks down and everybody just worries about their own family. Same goes for financial records: if you can restore some semblance of banking & credit you can operate much more efficient trade than if everything is spot barter.
4.) Knowledge repository. The community where everybody knows how to garden is going to be way better off than the one where two people know how to garden and everybody steals their food. Same with a variety of other skills - repairs, local resources, weapon manufacture, etc.
5.) Industrial control. If communities can get an electricity source back online, it opens up a wide variety of options for local manufacturing and automation. Labor is likely to be in very short supply after an apocalypse, so anything you can do to automate control will be a big help.
Modelling environmental phenomenon certainly if you want to viably farm and feed appreciable amounts of people. you'd also use these rigs for biological analysis to identify targets for genetic modification that would improve yields in a rapidly changing environment with limited nutrient availability. i imagine one day crops are genetically modified to be most optimal for specific hillsides or valleys or individual farm parcels, essentially going back to the benefits of land races but with the flexibility to introduce known changes in a single season.
I could not imagine running rustc on a Rust program, let alone building a 200-crate dependency graph or all of rustc, on a 2000s car entertainment system microcontroller.
What you are programming would change, just like what you're programming with would change. The projects who use 200-something crates are building desktop applications or something like that.
What we'd program if we only have microcontrollers available, would be much smaller in scope, maybe a lot of focus on controlling physical infrastructure for agriculture and such.
The programming languages that will best survive the apocalypse are the ones that can run on chips that best survive the apocalypse! I think that there're be a big turn toward highly-efficient compiled languages: Rust and Go are well-positioned for this, C will still be around, but languages like PHP and Ruby are very poorly suited for this. Anything that can be adapted to run on a microcontroller that you can scavenge from old cars that no longer can get gas will be in high demand.
I also think we'll see a turn toward more local production of semiconductors, which may require moving back in process nodes toward older technology where the supply chain and manufacturing process isn't as complex.
I don't think backwards-compatibility is as important as the author thinks it is. Enough other things are going to break in the economy that people will be willing to make due with software that gives them basic communication & computation abilities even if it doesn't have all the bells and whistles of modern software, particularly if modern software becomes completely unavailable due to infrastructure failures like cable lines coming down and there not being enough power to run datacenters.
Final thoughts: I think distributed technologies like mesh networks, data synchronization algorithms, networking, (proof-of-stake/storage) blockchains, etc. will become significantly more important. I wouldn't count on the cloud surviving: it has a lot of physical infrastructure dependencies, and physical infrastructure is already crumbling. Software that you can run locally on a device and communicate over unreliable networks will become very important.