It's sometimes interesting to read DDJ in order to get the fossil view of software development. For instance:
As time passed we kept sacrificing software performance in favor of developer productivity gains first by adopting object-oriented languages and more recently settling with garbage-collected memory, runtime interpreted languages and 'managed' execution. It is these "developer productivity" gains that kept the pressure on hardware developers to come up with faster and faster performing processors. So one may say that part of the reason why we ended up with gigahertz-fast CPUs was "dumb" (lazy, uneducated, expensive -- pick your favorite epithet) developers.
Yes, life was so much better back when everyone wrote in C, C++, or Assembly - we only had wild pointer problems every half hour or so. You know, I don't care how much more memory my system needs now, because a laptop with 1 GB of memory and a fast processor costs 1/3 (in absolute dollars - never mind the inflation adjusted difference) as much as my first desktop, which had 1 entire MB of memory and a 25 Mhz 386. I'll take the "dumb" programmers, thanks. This clown can go back to the *cough* more efficient *cough* days of yore. Have fun with DOS while you're there.