Monday, July 9, 2007

The Laws of Computing

  • First law - The Computer is always right.

  • Lemma one - Programmers are occasionally right.

  • Second law - The amount of time needed to debug a program is inversely proportional to the time allotted for debugging.

  • Corollary - Programs never work the first time unless there is virtually unlimited time to complete the program.

  • Third law - Any programmer can find 90% of his bugs simply by explaining his program to an uninterested observer.

  • Corollary - The uninterested observer may be sleeping, dead, nonhuman, or, in extreme cases, nonexistent.

  • Fourth law - The most difficult or nearly impossible programming problems appear obvious or extremely simple to anyone with little or no knowledge of programming.

  • Corollary - Those problems most easily solved by a programmer appear to be overwhelmingly complicated and marvelous to the layman.

  • Fifth law - Computers are never more intelligent than their programmers.

  • Corollary - Most computers are incredibly stupid.

  •  Sixth law - The rarest bugs in any operating system or major programming effort will always show up in a demonstration of its use to prospective users or customers.

  •  Corollary - These bugs usually cannot be reproduced and therefore cannot be located.

  • Lemma one - Customers will never purchase programs which appear to be riddled with bugs as verified by demonstration.

  •  Paradox - Most programs are unfit for sale.

No comments: