Saturday, February 28, 2015

Laws of Computer Programming


I. Any given program, when running, is obsolete.
II. Any given program costs more and takes longer.
III. If a program is useful, it will have to be changed.
IV. If a program is useless, it will have to be documented.
V. Any program will expand to fill available memory.
VI. The value of a program is proportional to the weight of its output.
VII. Program complexity grows until it exceeds the capabilities of the programmer who must maintain it.
VIII. Any non-trivial program contains at least one bug.
IX. Undetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited.
X. Adding manpower to a late software project makes it later.