THE LAWS OF COMPUTING
THE LAWS OF COMPUTING
Facts are not all equal. There are good facts and bad facts. Science
consists of using good facts.
UTZ'S LAWS OF COMPUTER PROGRAMMING
1. Any given program, when 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. Any given program will expand to fill all available memory.
5. If a program is useless, it will be documented.
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.
8. Make it possible for programmers to write programs in english, and you
will find that programmers cannot write english.
Any inanimate object, regardless of its position or configuration, may be
expected to perform at any time in a totally unexpected manner for reasons
that are either entirely obscure or else completely mysterious.
MURPHY'S FIRST LAW
Nothing is as easy as it looks.
MURPHY'S SECOND LAW
Everything takes longer than you think.
MURPHY'S THIRD LAW
In any field of scientific endeavor, anything that can go wrong will go
MURPHY'S FORTH LAW
If there is a possibility of several things going wrong, the one that will
cause the most damage will be the one to go wrong.
MURPHY'S FIFTH LAW
If anything just cannot go wrong, it will anyway.
MURPHY'S SIXTH LAW
If you perceive that there are four possible ways in which a procedure can
go wrong and circumvent these, then a fifth way, unprepared for, will
MURPHY'S SEVENTH LAW
Left to themselves, things tend to go from bad to worse.
MURPHY'S EIGHT LAW
If everything seems to be going well, you have obviously overlooked
MURPHY'S NINTH LAW
Nature always sides with the hidden flaw.
MURPHY'S TENTH LAW
Mother Nature is a bitch.
MURPHY'S ELEVENTH LAW
It is impossible to make anything foolproof, because fools are so
MURPHY'S LAW OF THERMODYNAMICS
Things get worse under pressure.
To err is human; to really foul things up takes a computer.
Ever since the first scientific experiment, man has been plagued by the
increasing antagonism of nature. It seems only right that nature should be
logical and neat, but experience has shown that this is not the case. A
further series of rules has been formulated, designed to help the man
accept the pigheadedness of nature:
1. To study a subject best, understand it thoroughly before you start.
2. Always keep a record of data. it indicates you've been working.
3. Always draw your curves, then plot the reading.
4. In case of doubt, make it sound convincing.
5. Experiments should be reproducible. They should all fail in the same
6. Do not believe in miracles. Rely on them.
7. If an experiment works, somthing has gone wrong.
8. No matter what result is anticipated, there will always be someone eager
to (a) misinterpret it, (b) fake it, or (c) believe it happened to his
own pet theory.
9. In any collection of data, the figure most obviously correct, beyond all
need of checking, is the mistake.
COROLLARY 1. No one whom you ask for help will see it.
COROLLARY 2. Everyone who stops by with unsought advice will see it
10. Once a job is fouled up, anything done to improve it only makes it
11. Science is truth -- don't be misled by facts.
Computers were invented by murphy.
LANDAU'S PROGRAMMING PARADOXES
1. The world's best programmer has to be someone.
2. The more humanlike a computer becomes, the less it spends time computing
and the more it spends time doing more humanlike work.
3. A software committee of one is limited by its own horizon and will
specify software only that far.
4. When the system programmers declare the system works, it has worked and
will work again some day.
The attention span of a computer is only as long as its electrical cord.
THE LAW OF COMPUTERDOM ACCORDING TO GOLUB
1. Fuzzy project objectives are used to avoid the embarrassment of
estimating the corresponding cost.
2. A carelessly planned project will take only twice as long.
3. The effort required to correct course increases geometrically with time.
4. Project teams detest weekly progress reporting because it so vividly
manifests their lack of progress.
Established technology tends to persist in spite of new technology.
Adding manpower to a late software project makes it later.
HOARE'S LAW OF LARGE PROGRAMS
Inside every large program is a small program struggling to get out.
THE NINETY-NINETY RULE OF PROJECT SCHEDULES
The first 90 percent of the tasks takes 10 percent of the time and the last
10 percent takes the other 90 percent.
THE LAW OF COMPUTABILITY APPLIED TO SOCIAL SCIENCES
If at first you don't succeed, transform your data.
A doggone computer is man's best friend
THE PROGRAMMERS NEMESIS
Experts theorize that, through evolution and inbreeding, programmers may
become a distinct subspecies of the human race.
THE SYSTEM DESIGNER'S TROUBLE
All systems designed to be wonderfully efficient are hell for the people
who supply the input and use the output.
1. He who gets too big for his britches, gets exposed in the end.
2. Staying afloat in management is easier if you don't make big waves.
3. The only people making money these days are the ones who sell computer
4. If you didn't have problems, you wouldn't need people around to help
solve them. Conversely, if you didn't have people around, maybe you
wouldn't have problems.
5. Nothing motivates a man more than to see his boss putting in an honest
6. Bosses are so busy delegating jobs, thay have no time to do any work.
7. When someone blows your horn, it sounds like a Cadillac. When you toot,
it sounds like a Volkswagon.
8. You can tell some people aren't afraid of work by the way they fight it.
9. People who mind their own business succeed because they have so little
GIB'S LAWS OF COMPUTER UNRELIABILITY
1. Computers are unreliable, but humans are even more unreliable.
2. Any system which depends on human reliability is an unreliable system.
3. The only difference between the fool and the criminal who attack a
system is that the fool attacks unpredictably and on a broader front.
4. Self-checking systems tend to have an inherent lack of reliability of
the system in which they are used.
5. The error-detection and correction capabilities of any system will serve
the key to understanding the type of error which thay can not handle.
6. Undetectable errors are infinite in variety, in contrast to detectable
errors, which by definitionare limited.
7. Investment in reliability will increase until it exceeds the probable
cost of the errors or until somebody insists on getting some useful work
Computing power increases as the square of the cost. if you want to do it
twice as cheaply, you have to do it four times as fast.
ISAAC ASIMOV'S THREE LAWS OF ROBOTICS
1. A robot may not injure a human being or, through inaction, allow a human
being to come to harm.
2. A robot must obey orders given to it by a human being except where such
orders would conflict with the first law.
3. A robot must protect its own existance as long as such protection does
not conflict with the first or second law.
HOROWITZ'S SONG FOR IN-HOUSE COMPUTER PROGRAMS
"I/O, I/O, it's off to work we go ..."
1. Wisdom consists of knowing when to avoid perfection.
2. A computer makes as many mistakes in two seconds as twenty men working
twenty years make.
3. There exist unthinkable thoughts.
1. Microminiaturazation just makes the problem harder to get at.
2. Flaws found in the program will usually turn out to be flaws in the
system, but never vice versa.
3. Fallible men design fallible computers.
HUNT'S LAW OF SUSPENSE
If any work has a suspense date on it, that work will be completed as close
to the suspense date as possible regardless of how far in advance the work
A LAW FOR THE FUTURE
If it's not in a computer, it doesn't exist.
MC AULEY'S AXIOM
If a system is of sufficient complexity, it will be built before it is
designed, implemented before it is tested, and outdated before it is
1. If the facts do not conform to the theory, they must be disposed of.
2. The bigger the theory the better.
ANOTHER ONE OF MURPHY'S LAWS
If mathematically you end up with the incorrect answer, try multiplying by
the page number.
1. Given any problem containing n equations, there will be n+1 unknowns.
2. An object or bit of information most needed will be least available.
3. Any device requiring service or adjustment will be least accessible.
4. Interchangeable devices won't.
5. Badness comes in waves.
If computers get too powerful, we can organize them into committee. That'll
do them in!!!
THE ENGINEER'S LAW
If it can't be done with jumpers, it isn't worth doing.
ARTHUR C. CLARK'S LAW
It has yet to be proven that intelligence has any survival value.
THE FAIL-SAFE THEOREM
When a fail-safe system fails, it fails by failing to be fail-safe.
All the world's an analog stage, and digital circuits play only bit parts.
FEATHERSTONE'S ACCURATE STEPS TO SYSTEMS DEVELOPMENT
1. Wild Enthusiasm
3. Total confusion
4. Search for the Guilty
5. Punishment of the iNnocent
6. Promotion of Nonparticipants
If builders built buildings the way the programmers wrote programs, the
first woodpecker that came along would destroy civilization.