[thechat] Laws of Computer Programming

Syed Zeeshan Haider szh at softhome.net
Thu Mar 6 13:59:20 CST 2003

Although it's amusing, I found it on a very serious list of programmers.

L A'W S   0 F   C O M P U T E R   P R O G R A MM I N G

1.  Any given program, when running, is obsolete.
2.  Any given program costs more and takes longer.
3.  If a program is useful, it will have to be changed.
4.  If a program is useless, it will have to be documented.
5.  Any given program will expand to fill all available memory.
6.  The value of a program is proportional to the weight of its output.
7.  Program complexity grows until it exceeds the capability of the
     Programmer who must maintain it.
8.  If a test installation functions perfectly, all subsequent systems
     will malfunction.
9.  Not until a program has been in production for at least six months
     will the most harmful error be discovered.
10. Job control cards that positively cannot be arranged in improper
      order will be.
11. Interchangeable tapes won't.
12. If the input editor has been designed to reject all bad input, an
      ingenious-idiot will discover a method to get bad data past it.
13. Profanity is the one language all programmers know best.
14. Computers are unreliable, but humans, are even more unreliable.
15. Any system which depends on human reliability is unreliable.
16. Undetectable errors are infinite in variety, in contrast to detectable
      errors, which by definition are limited.
17. Investment in reliability will increase until it exceeds the
      probable cost of errors or until someone insists on getting
      some useful work done.
18. Adding manpower to a late software project makes it later
19. There is always one more bug.
20. If no other law applies, it's the operator's fault.

Syed Zeeshan Haider.

More information about the thechat mailing list