Codetodis Blog

"Andy and Bills Law"

There was a post on hackernews [1][2] regarding "Andy and Bill's law" [3], which had the central thesis, that "for every cycle a hardware engineer saves, a software engineer will add two instructions".

I think, that is fine. Not becaus I don't care for bloated software, but that the gains in hardware-performance are used to cover non-functional requirements, which weren't possible to be covered earlier. The performance gain enables us to develop software in a higher quality:

  • we can run more and more elaborate tests
  • we can run more checks protecting the system and the user
  • we can achieve higher standards in usability
  • etc.

The reverse conclusion is, of course, that newer software, which fulfills a higher quality standard, won't be able to run as smoothly or fast on an older system.