On the other hand, software development has seen some bad sliding towards careslesness as more powerful systems become readily. With seemingly more sloppy code and a tendency to not measure things like memory ussage, to the point, several browsers in example are memes now.
However one core point is that these
aren't actually
inefficiencies, they're
externalities. This is not targeted at anyone but it's just some general observations.
When Google makes Chrome, they are optimizing things, but they're optimizing the total resources of Google that's allocated to making Chrome, while balancing that with things like usability, flexibility and market penetration. Optimizing the exact amount of memory the program takes on
your PC isn't a heavy design constraint, and certainly not a key one for the success or failure of the product. After all, if the product fails it doesn't matter how "optimal" you claim it was so everyone "should" have used it. The thing is, those over-engineered products which "work really well" tend to fail for this same reason. They're not sustainable.
Sure, it's possible to say that Google should make the browser that uses the least amount of possible resources on anyone's machine.
However making a browser that way would vastly increase costs in every other aspect. Optimizations are costly and time-consuming. Optimizations are specific to specific people's hardware. Optimizations are buggy and error prone. Optimization are highly tied to specific workloads and tasks.
So, Chrome development is optimized in these ways: make a flexible product that has good error-checking, that runs well on anyone's machine no matter what hardware they have and multiple different OS's, and deliver frequent updates that lack bugs. These constraints are not consistent with the idea of making the fastest possible to-the-bare-metal browser you possibly can. You can get a to-the-bare-metal browser, just don't expect to get frequent updates or a flexible plug-in system at the same time. So it's not actually that suitable for most people, so they don't get a big market share.
Users, too, are looking at trade-offs when they select a browser. The few bucks needed for more RAM is worth it to most people to have a browser that's seamlessly updated with security patches and works well for any website they need. It's why Windows is generally preferred over Linux: not because people are dumb, but because if you use Linux most people will take a productivity hit, that's basically a waste of time that they could be spending on doing their actual job.The constrain here is
time. Say you save 10 hours worth of labor by buying Linux rather than Windows, but you have to spend 1 hour extra per week on IT maintenance as a result. Well, your initial saving was blown away after only 10 weeks, and now the primary resource you really care about, free time (and possibly productivity if this is a work machine) is impacted. That's time you could have used to learn a new skill or something but instead you spend it on your cheaper PC to keep things ticking along like they would on Windows by default.
If Chrome uses "excessive" memory or hard-drive space, that's because it has to, to do what you're asking of it. Any low-hanging fruit that can be cut off has already been cut off. The thing "oh this uses up all my RAM, they didn't design it well" is the externality I mentioned. No, they designed it how they needed to design it to get it to the point where you're actually using it and it's maintained and updated, bug free with a consistent update cycle. Maybe they can squeeze down some RAM for your specific use-case but only at the expense of having a much harder to maintain product with longer cycles between updates, and vastly more testing to ensure their optimizations don't fuck up on different machines. This is the limitation of trying to design a product that works the same for everybody.