Laws of computer programming.
1. Any work program is already outdated.
2. Any program costs more and is made longer than it could.
3. If the program is of practical value, it has to be changed.
4. If the program is useless, it should be written down.
5. Any program grows until it fills up all available memory.
6. The value of the program is proportional to the amount of data it provides.
7. The complexity of the program increases until it exceeds the abilities of the programmer who must work with it.
The postulates of Tuathman’s programming.
1. If the trial system works flawlessly, all subsequent ones will not function.
2. The most dangerous error is found when the program has been running for six months.
3. The cards in the card index of the personnel department, which can not be confused, turn out to be confused.
4. Interchangeable films are not.
5. If the computer is protected from writing unwanted data, there will be an inventive idiot who will find a way to bypass it and enter his data.
New software plus the employee is equally obsolete software.
Computer laws on Golub.
1. The vague formulation of the objectives of the project is used to avoid unpleasant minutes in determining the estimated costs for the implementation of these objectives.
2. The implementation of a poorly planned project takes three times as long as it could; carefully planned project – twice.
3. Efforts to adjust the course of project development, grow in geometric progression.
4. The implementation groups of a project are very reluctant to take weekly reports of their successes, because it clearly demonstrates the lack of success.
The law of cybernetic etmology.
There is always one more “bug” in the program (from English “bug”, here: an error in the program).
Principle of Show.
If you have developed a system that even a fool can understand, then only a fool will use it.
The IBM principle.
The machine should work, and the person should think.
Remark E. Dijkstra.
If debugging is the process of removing errors, programming should be the process of making them.
The machine program does what you told it to do, not what you want it to do.
Leo Beizer’s computer axiom.
Putting something in the computer, remember where you put it.
Steinbach’s System Programming Guide.
Never identify errors in the program if you do not know what to do with them.
Addition of Mark Davison.
Have you already reached a point where you do not have time to solve those problems that are taking away from you all the time?
The law of unreliability.
It’s common for a person to make mistakes, but only the computer can confuse everything.
Gilb’s reliability laws.
1. Computers are unreliable, but people are still unreliable.
2. Any system that depends on human reliability is unreliable.
3. The number of errors that can not be detected is infinite, as opposed to the number of errors that can be detected – of course, by definition.
4. In search of increased reliability, funds will be invested until they exceed the amount of losses from unavoidable mistakes or until someone asks for any useful work to be done.
The law of the computer applied to Alu.
The machine thinks the person is taking (decisions).
Charles Portman Law (ICL).
When it seems that everything is already working, everything is integrated into the system – you still have work left for four months.