I like how cushy we have it when 500Megs are considered 'only'. I appreciate nowadays even tetris runs on 6GB but if the software is written well, 500MB is a lot of memory to use.
Modern hardware has allowed us to ignore bad/inefficient coding. That aside from the need to compute larger data sets is the ONLY reason we keep needing more RAM and CPU with every coming year. If software companies would stop rebuilding everything from scratch as a product model and instead do it only when absolutely necessary and just work on improving the EXISTING software, most things could run on an OS with 2G of ram. There is no good reason for needing to continually upgrade hardware just to browse the internet. The reason it’s needed is because each year developers and designers assume that their userbase has better hardware so they can be wasteful with resources and not optimize.
Depends on the type of developer. With the increase in high level frameworks there are a lot of developers who never learn why the code they are using is bad. Development of anything is rarely involved in the libraries they use. They just import a blob and make it do stuff. A lot of times sites and web apps are scraped together from crap from stack overflow and it just barely works. There have been many cases of core library developers doing something stupid and avoidable that slows all resulting programs down.