Why today's software quality is bad
youtube.com
youtube.com
That's less because they're bad, and more because those applications demand real excellence when the whole world, probably including your own citizens just for the lulz, would like to hack your water system controls.
Most apps seem to have good enough security. People aren't getting constantly hacked like they used to despite the attack surface being so much bigger. Sandboxing and safe languages do a lot, and things seem to be getting more secure (At least relative to the size of attack surface), not less.
The security issues we do have seem to be less because people aren't trying, and more because nobody is perfect and if you make literally everything digital, and use complex abstractions, that's a lot of potential mistakes.
But at the same time, it reduces some older analog security issues, like someone stealing your cash if you carried lots or someone reading your diary if you left it out.
I suppose for some people those issues might be less emotionally distressing since they feel more in control than they do with computers though.
I did notice software before about 2018 seemed to be bad, probably because nobody cared about performance and just threw around that one premature optimization quote, but it seems people rediscovered optimization.
Perhaps current software would be bad on pre-2018ish hardware, but for the most part software doesn't seem to be getting slower, and hardware continues to get faster.
Why do you think software is bad than it used to be a decade ago?
I may have a narrow view of things, I don't use Windows. I know that Windows is the standard business operating system, but I haven't used it in almost 6 years.
I would push that back to a couple decades ago. My hypothesis is that it's the result of economics. Once developer time became more expensive than computer time, the economics was a powerful force toward optimizing to minimize the developer time required. All of our tooling changed to reflect that.
This came at a sacrifice of most other things. Our software became extremely bloated and inefficient. We take it as normal that shipping something incomplete and buggy is OK because "we can push out an update later". Major companies have even largely done away with critical QA efforts.
Also, the culture of the software world changed to one where too many people are in it to maximize their personal income rather than to make excellent software.
Overall software quality dropped and has stayed low as a result of these sorts of things.