True. You don't need to be an assembly expert to be a great programmer, but I do think you need to have a solid understanding of how computers work all the way down to the CPU level in order to be a great programmer. And once you have that knowledge, assembly isn't a big hurdle anyway.
Our systems will rot without people to maintain them, the AI aren't infallable yet.
The greater worry isn't that the general user will let mostly defunct skills rot, it's that we need a path to raise the next generation of experts in these niche skills.
Good enough for what? Good enough that people will grudgingly use it because instantly quitting their job over it would be overblown. Their life will only become a little bit worse through it.
I'm frankly scared how AI-created "good enough" software will look.
Otherwise what is the non performant abstraction? I think the reality is just that teams is poorly done.
They can't be bothered to write a truly native app for their own platform. Heck, they can't even be bothered to dogfood their in-house react alternatives.
All of that for an app that's used by hundreds of millions of people every day. It's those things that make me think Casey Muratori really is onto something.
The implication of that is this will have a similar impact as previous abstractions.
But two questions:
1. Does this scale?
2. Is the type of difference between Python and Assembly the same as between Python and AI Codegen?
LLMs will make distinctions like functional, dynamic, procedural, ... become obsolete just like all assembly languages are now just assembly, but in fact used to vary by architecture (and even by each architecture's generation/version)
assembly -> C -> something made with a compiler which embeds chatGTP