Inefficient software comes from unnecessary complexity, which in turn comes from improved hardware allowing programmers to be less resourceful, businesses choosing profits over simplicity, complex human organizations moving their complexity into the code, programmers choosing frameworks over doing it from scratch, pseudo-science like "clean code", and from complexity reinforcing itself into more complexity.
But it's culture, mostly on the internet, with its low barrier to entry that lets amateurs take over, that spreads the problem by making us believe it isn't a problem and that we actually need the complexity.
But it's culture, mostly on the internet, with its low barrier to entry that lets amateurs take over, that spreads the problem by making us believe it isn't a problem and that we actually need the complexity.