To what extent is software created with the aim of selling new hardware?
When I knew nothing about coding, I often had the impression that software was intentionally created so that it necessitates up-to-date hardware. It was the only explanation I could come up with to explain why applications ran slow, sometimes even slower than before, although the computers became faster and faster. Since I've been playing around with coding myself, I have encountered other possible explanations, for example: 1.) Higher languages might be used which increase speed and convenience of development and maintenance, but are less performant. 2.) Code bases might be so big or messy that it becomes hard to keep them clean, efficient and bug-free. 3.) Hardware is better, so there's not as much need to write super-performant, and performance optimization is only done when absolutely necessary. Still, I wonder if there's a component of intent there: To push new hardware, to force a pay update or whatever it is. Does anybody know details about if, how, and to what extent this is done?