At 32GB, I very rarely ever get near full usage. Right now, with 20 windows open and a bunch of tabs in some of them, I'm at 36% usage. Even gaming, I don't get near full usage.

However - that's still a whole hell of a lot of RAM! I remember the 640KB days.

The interesting part is, there was a big step up from DOS and text mode to Windows and everything being GUI, and that made some major changes in software and how people use computers. But -- there haven't really been many changes since then.

Open a word processor and type a letter or something now. Same letter you could've typed in 1995 or 1998. It'll take 100x the RAM (or more), for the exact same result. Same with spreadsheets. And the vast majority of other stuff any normal person does on a computer.

A sidenote is that there are a few things like streaming video, which weren't really doable back then. But most everything else hasn't really changed much to the user. Click to make this text bold, or align right - that's the same as it was in 1995.

What has changed is that now all software must have at least 75 layers of indirection and more dependencies than you could shake a tree at. Mostly just to do the exact same things that equivalent software did a whole quarter century ago. Without all that nonsense.

It's all the frameworks, patterns, and architecture astronauts. Us developers are continually reinforced with this idea that making things as abstract, generic, and be-all-things-to-all-people is the proper way to develop. And reusing code (no matter how loosely it matches what you need to do) and gluing it together is the way to build things. Instead of just writing code that does exactly what you need and nothing more.

Nowhere is this bloat more obvious than the web. A typical web page today takes around 1000x as many resources as an equivalent page that communicated the exact same information would've 10 years ago.

It's still mostly just text, some images, and forms. Same as it was then. But nowadays it's just not done properly unless you add at least two frameworks with several megabytes of javascript dependencies. And also a lot of tracking scripts and popups and various other overrides of the default behavior.

The real problem though, is not the RAM usage, or bandwidth. We've got the hardware for that now. The real problem is how hard it is to understand and debug all that extra cruft.

We're just wrapping layers upon layers upon layers, none of which are comprehensible or even correct (each layer patching over the previous or adjusting the generic results to fit the specific needs), instead of just doing the specific thing right to start with.

Our hardware is struggling because, as a whole, us developers are pursuing the stupidest route possible. The route that is (supposedly) the most efficient for development, despite being the least efficient in actual use.

However, that tower of abstractions and layers costs us a lot. Not just in RAM usage, bandwidth, and disk space.

I'd guess we're to the point that the average developer spends significantly less than 1/3rd of their time actually developing and at least 2/3rds of their time dealing with all the cruft. So it's not even efficient on that front.

I don't know what it will take for everyone to understand just how bad the current trajectory is. Or what percentage of developers would actually have any clue how to build things efficiently. We're at least two generations into this approach.