-------------------------------- The Laws of Computer Programming -------------------------------- Weinberg's Second Law: If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. 1.) If the document should exist, it doesn't. 2.) If the document does exist, it's out of date. 3.) Only documentation for useless programs transcends the first two laws. When it is possible for programmers to program in English we will find the programmers cannot write in English. To determine how long it will take to write and debug a program, take your best estimate, multiply that by two, add one, and convert to the next higher units. First Law of Computer Programming: Any given program, when running,is obsolete. Second Law of Computer Programming: Any given program costs more and takes longer each time it is run. Third Law of Computer Programming: If a program is useful, it will have to be changed. Fourth Law of Computer Programming: If a program is useless, it will have to be documented. Fifth Law of Computer Programming: Any given program will expand to fill all the available memory. Sixth Law of Computer Programming: The value of a program is inversely proportional to the weight of its output. Seventh Law of Computer Programming: Program complexity grows until it exceeds the capability of the programmer who must maintain it. Greer's Third Law: A computer program does what you tell it to do, not what you want it to do. Troutman's Frist Postulate: Profanity is the one language understood by all programmers. Troutman's Second Postulate: Not until a program has been in production for six months will the most harmful error be discovered. Troutman's Third Postulate: Job control cards that positively cannot be arranged in improper order will be. Troutman's Fourth Postulate: Interchangeable tapes won't. Troutman's Fifth Postulate: 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. Troutman's Sixth Postulate: If a test installation functions perfectly, all subsequent systems will malfunction. The attention span of a computer is only as long as its electrical cord. One good reason why computers can do more work than people is that they never have to stop and answer the phone. If computers get too powerful, we can organize them into a committee -- that will do them in. At the source of every error which is blamed on the computer you will find at least two human errors, including the error of blaming it on the computer. If you put garbage in a computer nothing comes out but garbage. But this garbage, having passed through a very expensive machine, is somehow enobled and none dare criticize it. Pierce's Law: In any computer system, the machine will always misinterpret, misconstrue, misprint, or not evaluate any math or subroutines or fail to print any output on at least the first run through. Corollary to Pierce's Law: When a compiler accepts a program without error on the first run, the program will not yield the desired output. Golub's First Law of Computerdom: Fuzzy project objectives are used to avoid embarrassment of estimating the corresponding costs. Golub's Second Law of Computerdom: A carelessly planned project takes three times longer to complete than expected; a carefully planned project takes only twice as long. Golub's Third Law of Computerdom: The effort required to correct course increases geometrically with time. Golub's Fourth Law of Computerdom: Project teams detest weekly progress reporting because it so vividly manifests their lack of progress. Gilb's Frist Law of Unreliability: Computers are unreliable, but humans are even more unreliable. Computers are not intelligent. They only think they are. Old programmers never die. They just branch to a new address. Brain fried -- Core dumped Hackers do it with all sorts of characters. Hackers do it with bugs. Hackers do it with fewer instructions. Hackers know all the right MOVs. 100 blocks of crud on the disk, 100 blocks of crud! You patch a bug, and dump it again: 101 blocks of crud on the disk!...