Skip to content

Eponymous Laws of Computing

Abstract

Computing has a habit of naming its rules of thumb after people: Moore, Amdahl, Brooks, Conway, Postel, Metcalfe, Wirth. Almost none of them is a law in the physicist’s sense. Most are observations from a specific decade that turned out to hold for longer than their authors expected, or that stopped holding and kept the name anyway. This page collects the ones that shaped how the field thinks, with the original wording, where and when it was first stated, who actually named it (rarely the person on the label), and how well it has aged. Each entry links the article where the story is told in full.

How to read this page

The wording given is the earliest published form where one exists. “Named by” matters: Moore did not call it Moore’s law, Torvalds did not write Linus’s law, and Cunningham denies Cunningham’s law. Where the law has since failed, the entry says so.

Hardware

  • Moore’s law (1965). “The complexity for minimum component costs has increased at a rate of roughly a factor of two per year.” Gordon Moore, “Cramming more components onto integrated circuits”, Electronics, 19 April 1965. Revised in 1975 at the IEEE International Electron Devices Meeting to a doubling every two years. Named by Carver Mead. It held for about fifty years as an industry planning schedule rather than a physical law; the transistor count still climbs, the clock speed stopped in the mid-2000s. → Gordon Moore and Moore’s Law
  • Dennard scaling (1974). As transistors shrink, their power density stays constant, so a chip with more transistors draws no more power per unit area. Robert Dennard and colleagues, IEEE Journal of Solid-State Circuits, 1974. It broke around 2005 to 2007 when leakage current stopped scaling; the “power wall” is why processors went multicore instead of faster. → Concurrency and Parallelism
  • Amdahl’s law (1967). The speedup from improving one part of a system is limited by the fraction of time that part is used; a program that is 5% serial can never run more than twenty times faster, however many processors it gets. Gene Amdahl, AFIPS Spring Joint Computer Conference, 1967, in an argument against parallel machines. → Gene Amdahl and the System/360
  • Gustafson’s law (1988). The reply: if the problem grows with the machine, speedup grows linearly with processor count. John Gustafson and Edwin Barsis, “Reevaluating Amdahl’s Law”, Communications of the ACM 31(5), 1988. Both laws are true; they assume different things about what a bigger computer is for. → The Supercomputer Era
  • Grosch’s law (1953). Computer performance rises as the square of cost: pay twice as much, get four times the machine. Herb Grosch, Journal of the Optical Society of America, 1953. It described the mainframe economics of 1951 to 1963 and stopped describing anything once minicomputers and then microprocessors made small machines cheaper per operation than large ones. → The IBM Mainframe Era
  • Bell’s law of computer classes (1972). Roughly every decade a new, lower-priced class of computer forms around a new platform and interface, creating a new industry. Gordon Bell, “The Effect of Technology on Near Term Computer Structures”, Computer, March–April 1972. Mainframe, minicomputer, workstation, PC, smartphone: the decades line up well enough that the law is still quoted. → DEC and the Minicomputer Era
  • Kryder’s law (2005). Magnetic disk areal density doubles roughly every two years, faster than Moore’s law. Named in Chip Walter’s Scientific American article “Kryder’s Law” (August 2005) after Seagate’s Mark Kryder. Over the five years to 2014 density grew only about 15% a year, and Kryder’s own 2009 forecast of a 40-terabyte drive for $40 by 2020 did not arrive. → The Storage Revolution

Networks

  • Metcalfe’s law (1983, named 1993). The value of a network grows with the square of the number of its users. Bob Metcalfe first drew it in 1983 for 3Com’s sales force, about compatible devices rather than people; George Gilder named it in Forbes in September 1993. Briscoe, Odlyzko, and Tilly argued in IEEE Spectrum (July 2006) that n log n fits large networks better. → Bob Metcalfe and Ethernet
  • Postel’s law, the robustness principle (1980). “Be conservative in what you do, be liberal in what you accept from others.” Jon Postel, RFC 761 (January 1980), the TCP specification; repeated in RFC 793. In 2023 RFC 9413 argued the opposite: tolerating bad input lets flaws become de facto standards that every later implementation must copy. → Jon Postel
  • Godwin’s law (1990). “As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one.” Mike Godwin, on Usenet, 1990, as a deliberate experiment in seeding a meme. It entered the Oxford English Dictionary in 2012. → Usenet: The Original Online Community
  • Cunningham’s law (2010). “The best way to get the right answer on the Internet is not to ask a question; it’s to post the wrong answer.” Steven McGeady attributed it to Ward Cunningham in the New York Times “Schott’s Vocab” column, 28 May 2010, dating the remark to the early 1980s. Cunningham disowns it, calling it a misquote that disproves itself by spreading. → Ward Cunningham and the Wiki

Software Engineering

  • Brooks’s law (1975). “Adding manpower to a late software project makes it later.” Fred Brooks, The Mythical Man-Month, 1975, from the OS/360 experience. Brooks later called it an “outrageous oversimplification” that captures the right principle. → Fred Brooks and the Mythical Man-Month
  • Conway’s law (1968). “Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.” Melvin Conway, “How Do Committees Invent?”, Datamation 14(5), April 1968. Named at the 1968 National Symposium on Modular Programming. It is now the standard explanation of why a company with four teams ships a four-pass compiler. → The Software Crisis
  • Lehman’s laws of software evolution (1974). Meir Lehman and Laszlo Belady, 1974: a system in real use must be continually adapted or becomes progressively less useful (continuing change); its complexity grows unless work is spent to hold it down (increasing complexity). → The Software Crisis
  • The ninety-ninety rule (1985). “The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.” Tom Cargill of Bell Labs; popularized by Jon Bentley in the September 1985 “Programming Pearls” column in Communications of the ACM. → The Software Crisis
  • Hofstadter’s law (1979). “It always takes longer than you expect, even when you take into account Hofstadter’s Law.” Douglas Hofstadter, Gödel, Escher, Bach, 1979, about the forever-receding date on which a computer would beat the world chess champion. The date arrived in 1997. → Deep Blue and Computer Chess
  • Wirth’s law (1995). Software gets slower faster than hardware gets faster. Niklaus Wirth, “A Plea for Lean Software”, Computer, 1995, crediting Martin Reiser’s Oberon preface: “software manages to outgrow hardware in size and sluggishness.” The same complaint circulates as Gates’s law, May’s law, and “what Andy giveth, Bill taketh away”. → Niklaus Wirth and Pascal
  • Tesler’s law, the conservation of complexity (1980s). Every application has an irreducible amount of complexity; the only question is whether the engineer absorbs it or the user does. Larry Tesler at Xerox PARC in the mid-1980s, published through Dan Saffer’s Designing for Interaction (2010). → Larry Tesler and the War on Modes
  • Hyrum’s law (2010s). “With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.” Hyrum Wright, from infrastructure migrations at Google; named by Titus Winters. → The API Economy
  • Zawinski’s law (c. 1995). “Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.” Jamie Zawinski, from writing mail clients at Netscape; a rule about platformization, as he clarified in 2020. → Email: The Killer App
  • Linus’s law (1999). “Given enough eyeballs, all bugs are shallow.” Eric S. Raymond, The Cathedral and the Bazaar, named for Linus Torvalds. Robert Glass called it a fallacy in 2003; Heartbleed sat in OpenSSL for two years before anyone looked. → The Open Source Movement and Volunteer-Maintained Infrastructure

Programming

  • Wheeler’s aphorism, the fundamental theorem of software engineering. “Any problem in computer science can be solved with another level of indirection.” Credited to David Wheeler of EDSAC by Butler Lampson in his 1992 Turing lecture; Wulf, Levin, and Harbison had attributed the same line to Roger Needham in 1981. The usual corollary, “except for the problem of too many levels of indirection,” has no known author. → Maurice Wilkes and EDSAC
  • Greenspun’s tenth rule (c. 1993). “Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.” Philip Greenspun. Robert Morris’s corollary: “including Common Lisp.” → John McCarthy and LISP
  • Atwood’s law (2007). “Any application that can be written in JavaScript, will eventually be written in JavaScript.” Jeff Atwood, Coding Horror, 17 July 2007, as a corollary to Berners-Lee’s rule of least power. Node.js followed in 2009. → The JavaScript Revolution

Security

  • Kerckhoffs’s principle (1883). A cryptosystem should remain secure even if everything about it except the key is public. Auguste Kerckhoffs, “La cryptographie militaire”, Journal des sciences militaires, January and February 1883. Claude Shannon’s 1949 restatement: “the enemy knows the system.” → Cryptography: The Secret Science
  • Schneier’s law (1998, named 2004). “Anyone, from the most clueless amateur to the best cryptographer, can create an algorithm that he himself can’t break.” Bruce Schneier, Crypto-Gram, 1998; named by Cory Doctorow in 2004. Schneier himself traces the observation to Babbage in 1864. → Bruce Schneier

History

  • Kranzberg’s first law (1986). “Technology is neither good nor bad; nor is it neutral.” Melvin Kranzberg, Technology and Culture 27(3), July 1986. The historian’s rule, and the one this encyclopedia’s Dead End sections keep rediscovering. → Computing in Popular Culture

Not Laws

  • The Osborne effect. The claim that Osborne Computer died in 1983 because it announced its next machine too early. Repeated in business schools as a law; the evidence that it killed the company is thin. → Dead End: Osborne
  • Moore’s second law, Rock’s law. The cost of a chip fabrication plant doubles every four years. Attributed to Arthur Rock; fab costs had reached about $14 billion by 2015. → Morris Chang and TSMC

📚 Sources