Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: nyu notesfiles V1.1 4/1/84; site acf4.UUCP Path: utzoo!linus!philabs!cmcl2!acf4!greenber From: greenber@acf4.UUCP Newsgroups: net.jokes Subject: General Laws of Computing. Message-ID: <9800020@acf4.UUCP> Date: Fri, 9-Nov-84 11:11:00 EST Article-I.D.: acf4.9800020 Posted: Fri Nov 9 11:11:00 1984 Date-Received: Sat, 10-Nov-84 04:46:11 EST Organization: New York University Lines: 118 Nf-ID: #N:acf4:9800020:000:2927 Nf-From: acf4!greenber Nov 9 11:11:00 1984 <> Below please find my most complete list of the General Laws of Computing. If you know of some others, send them to me and I'll compile a new list for the net: --------------------------------------------------------------------------- LAWS OF COMPUTER PROGRAMMING 1. Any given program, if running, is obsolete. 2. Any given program costs more, and takes longer. 3. If a program is useful, it will have to be changed. 4. If a program is useless, it will have to be documented. 5. Any program will expand and fill all of available memory -- plus one byte. 6. The value of a program is proportional to the weight of its output. 7. Program complexity grows until it exceeds the capability of the programmer who must maintain it. TROUTMAN'S PROGRAMMING POSTULATES 1. If the test installation functions perfectly, all subsequent systems will malfunction. 2. The most harmful error of any program will not be discovered until the program has been in production for at least six months. 3. A Batch Stream that can not be arranged in improper order will be. 4. Constants aren't. 5. Variables won't. 6. Interchangeable Tapes won't. 7. Profanity is the one language that all programmers know the syntax of. GILB'S LAWS OF UNRELIABILITY 1. Computers are unreliable. Humans are worse. 2. Any system which depends on human reliability is unreliable. 3. Undetectable error are infinite in variety. Detectable errors do not exist, unless deadline is less than three hours away. 4. Investment in reliability will increase until it exceeds the probable cost of errors, or until someone insists on getting some real work done. BROOK'S LAW Any manpower added to a late project makes it later. LAWS OF COMPUTERDUM ACCORDING TO GOLUB 1. Fuzzy project objectives are used to avoid the embarrasment of estimating the corresponding costs. 2. Carelessy planned projects take three times longer to complete than expected. Carefully planned projects take only three times longer to complete than expected. 3. Programmers detest weekly status reporting because it so vividly manifests their lack of progress. LUBARSKY'S LAW OF CYBERNETIC ENTOMOLOGY There is always one more bug. SHAW'S PRINCIPLE Build a system that even a fool can use, and only a fool will use it. IBM POLLYANNA PRINCIPLE Machines should work. People should think. GRAY'S LAW OF PROGRAMMING "n+1" trivial tasks are expected to be accomplished in tha same time as "n" trivial tasks. LOGG'S REBUTTAL TO GRAY'S LAW "n+1" trivial tasks take twice as long as "n" trivial tasks. WEINBERG'S SECOND LAW If builders built building the way that programmers program programs, the first woodpecker to come along would destroy civiliization. ------------------------------------------------------------------------- Remeber to send additions to: Ross M. Greenberg @ NYU ----> allegra!cmcl2!acf4!greenber <----