Wirth attributed the saying to Martin Reiser, who in the preface to his book on the Oberon System wrote: "The hope is that the progress in hardware will cure all software ills. However, a critical observer may observe that software manages to outgrow hardware in size and sluggishness." Other observers had noted this for some time before; indeed, the trend was becoming obvious as early as 1987.
He states two contributing factors to the acceptance of ever-growing software as: "rapidly growing hardware performance" and "customers' ignorance of features that are essential versus nice-to-have". Enhanced user convenience and functionality supposedly justify the increased size of software, but Wirth argues that people are increasingly misinterpreting complexity as sophistication, that "these details are cute but not essential, and they have a hidden cost". As a result, he calls for the creation of "leaner" software and pioneered the development of Oberon, a software system developed between 1986 and 1989 based on nothing but hardware. Its primary goal was to show that software can be developed with a fraction of the memory capacity and processor power usually required, without sacrificing flexibility, functionality, or user convenience.
The law was restated in 2009 and attributed to Larry Page, founder of Google. It has been referred to as Page's law. The first use of that name is attributed to Sergey Brin at the 2009 Google I/O Conference.
Other common forms use the names of the leading hardware and software companies of the 1990s, Intel and Microsoft, or their CEOs, Andy Grove and Bill Gates, for example "What Intel giveth, Microsoft taketh away" and Andy and Bill's law: "What Andy giveth, Bill taketh away".
Gates's law ("The speed of software halves every 18 months") is an anonymously-coined variant on Wirth's law, its name referencing Bill Gates, co-founder of Microsoft. It is an observation that the speed of commercial software generally slows by 50% every 18 months, thereby negating all the benefits of Moore's law. This could occur for a variety of reasons: feature creep, code cruft, developer laziness, lack of funding, forced updates, forced porting (to a newer OS or to support a new technology) or a management turnover whose design philosophy does not coincide with the previous manager.
- Code bloat
- Feature creep
- Jevons paradox
- Minimalism (computing)
- No Silver Bullet
- Parkinson's law
- Electron (software framework)
- Wirth, Niklaus (February 1995). "A Plea for Lean Software". Computer. 28 (2): 64–68. doi:10.1109/2.348001. Retrieved 2007-01-13.
- Ross, Philip E. (December 2003). "5 Commandments". IEEE Spectrum.
- Reiser, Martin (1991). The Oberon System User Guide and Programmer's Manual. ACM Press. ISBN 0-201-54422-9.
- Welsh, Geoffrey (1987). "Yes, There IS a Difference Between Micros and 'Big' Computers". TPUG News. 2 (1). Archived from the original on March 10, 2005.
- "Can "Page's Law" Be Broken?". Slashdot.
- "Sergey Brin On Breaking "Page's Law" Of Software Sluggishness". YouTube. 2009-05-27. Archived from the original on 2021-12-21. Retrieved 2009-05-27.
- "What Intel giveth, Microsoft taketh away". OSNews. 2007-11-15. Retrieved 2017-08-17.
- "Ten Laws Of The Modern World". Forbes. 2005-04-19. Retrieved 2017-08-17.
- Gates' law, from the Jargon Lexicon, in the Jargon File (version 4.4.7).
- Orion, Egan (March 21, 2003). "WinTel trips on Linux?", The Inquirer.
- Eadline, Douglas. "May's Law and Parallel Software". Linux Magazine. Retrieved 9 May 2011.