The problem is that in the early days of home computing hardware resources were very limited and so the challenge was to write software that was incredibly efficient. More efficient programs could do more with the hardware that was available to them and improve the user experience, so it was extremely important to find efficiency where possible. This requirement for efficient programs remained into and through the Amiga days.
These days hardware resources are plentiful, and the programs written are far more complex. As a software writer, you have to make a decision. Is software efficiency your priority, or is software functionality your priority? If you're working on a platform that has plentiful hardware resources like those of home computers today, then inevitably software functionality will be deemed to be the priority. Your time as a programmer is better spent on introducing and improving functionality than it is on extracting the most efficiency from the program. The mindset of programmers has had to change.
For me personally, I still work with systems that have limited resources. Microcontrollers and embedded systems is my background and I regularly work with systems that have <256 Bytes of RAM! Yes that's Bytes, not Kilobytes, not Megabytes, and certainly not Gigabytes.
So for me, program efficiency is still a valuable use of my time as a programmer. But for modern day home computer programmers, extracting the maximum efficiency from your programs is not the best use of your time.
AH.