- Any given program, when running, is obsolete.
- Any given program costs more and takes longer each time it is run.
- If a program is useful, it will have to be changed.
- If a program is useless, it will have to be documented.
- Any given program will expand to fill all the available memory.
- The value of a program is inversely proportional to the weight of its output.
- Program complexity grows until it exceeds the capability of the programmer who must maintain it.
- Every non- trivial program has at least one bug
- Corollary 1 - A sufficient condition for program triviality is that it have no bugs.
- Corollary 2 - At least one bug will be observed after the author leaves the organization.
- Bugs will appear in one part of a working program when another 'unrelated' part is modified.
- The subtlest bugs cause the greatest damage and problems.
- Corollary - A subtle bug will modify storage thereby masquerading as some other problem.
- A 'debugged' program that crashes will wipe out source files on storage devices when there is the least available backup.
- A hardware failure will cause system software to crash, and the customer engineer will blame the programmer.
- A system software crash will cause hardware to act strangely and the programmers will blame the customer engineer.
- Undetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited.
- Make it possible for programmers to write programs in English, and you will find that programmers can not write in English.
- The documented interfaces between standard software modules will have undocumented quirks.
- A working program is one that has only unobserved bugs.
- No matter how many resources you have, it is never enough.
- Any cool program always requires more memory than you have.
- When you finally buy enough memory, you will not have enough disk space.
- Disks are always full. It is futile to try to get more disk space. Data expands to fill any void.
- If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
- If such a program has not crashed yet, it is waiting for a critical moment before it crashes.
- No matter how good of a deal you get on computer components, the price will always drop immediately after the purchase.
- All components become obsolete.
- The speed with which components become obsolete is directly proportional to the price of the component.
- Software bugs are impossible to detect by anybody except the end user.
Wednesday, November 16, 2005
Murphy's Computer Laws
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment