The Laws of Software
Arvind Padmanabhan
Moore's Law
Processing power
per unit cost
doubles every two years.
1965: Doubles every year
1975: Doubles every 2 years
Today: Doubles every 2.5 years
Amdahl's Law
There's a upper limit to the theoretical speed up due to parallel processing.
Gustafson's Law
When more processing is available, users tend to solve more complex problems.
Parkinson's Law
Work expands so as to fill the time available for its completion.
Data expands to fill the space available for storage.
Wirth's Law
Software gets slower faster than hardware gets faster.
Grosch's Law
Computer performance increases as the square of the cost. If computer A costs twice as much as computer B, you should expect computer A to be four times as fast as computer B.
Postel's Law
Be liberal in what you accept, and conservative in what you send.
Jon Postel
1976: TCP/IP
Claasen's Law
Usefulness = log(Technology)
Clarke's Third Law
Any sufficiently advanced technology is indistinguishable from magic.
Arthur C. Clarke
Asimov's Laws of Robotics
- A robot may not injure a human being or, through inaction, allow a human being to come to harm.
- A robot must obey orders given it by human beings except where such orders would conflict with the First Law.
- A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
Brooks's Law
Adding manpower to a late software project makes it later.
Cooper's Law
The maximum number of voice/data calls that can be conducted in all of the useful radio spectrum over a given area doubles every 30 months.
Cunningham's Law
The best way to get the right answer on the Internet is not to ask a question, it’s to post the wrong answer.
Linus's Law
Given enough eyeballs, all bugs are shallow.
Linus Torvalds
Conway's Law
Any piece of software reflects the organizational structure that produced it.
Swanson's Law
Cost of the photovoltaic cells falls by 20% with each doubling of global shipment.
Kerchkhoff's Principle
In cryptography, a system should be secure even if everything about the system, except for a small piece of information — the key — is public knowledge.
Fitt's Law
The time to acquire a target is a function of the distance (D) to and the size (W) of the target.
Greenspun's Tenth Rule
Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
Barabási's Law of Programming
Program development ends when the program does what you expect it to do—whether it is correct or not.
Zawinski's Law
Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.
Reed's Law
The utility of large networks, particularly social networks, scales exponentially with the size of the network.
Metcalfe's Law
In network theory, the value of a system grows as approximately the square of the number of users of the system.
The Laws of Software
By Arvind Padmanabhan
The Laws of Software
Moore's Law, Postel's Law, and many more.
- 1,499