Murphy's Computer Laws
- 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.
- Lulled into Security Law
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.
- Adding manpower to a late software project makes it later.
- 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.
- The probability of a hardware failure disappearing is inversely proportional to the distance between the computer and the customer engineer.
- 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.
- The maintenance engineer will never have seen a model quite like yours before.
- It is axiomatic that any spares required will have just been discontinued and will be no longer in stock.
- Any VDU, from the cheapest to the most expensive, will protect a twenty cent fuse by blowing first.
- Any manufacturer making his warranties dependent upon the device being earthed will only supply power cabling with two wires.
- If a circuit requires n components, then there will be only n - 1 components in locally-held stocks.
- A failure in a device will never appear until it has passed final inspection.
- Adding manpower to a late software project makes it later.
- A program generator creates programs that are more buggy than the program generator.
- A part dropped from the workbench will roll to a degree of un-reachability proportional to its importance.
- In a transistor circuit protected by a fuse, the transistor will always blow to protect the fuse.
- No matter how hard you work, the boss will only appear when you access the internet.
- The hard drive on your computer will only crash when it contains vital information that has not been backed up.
- Computers don't make errors-What they do they do on purpose.
And a quote to go along with that:
"Computers make very fast, very accurate mistakes."