| Front Page | News Headlines | Technical Headlines | Planning Features | Advanced Search |

March 2004

Boosting your e3000 productivity

Laws of Computer Programming

Compiled by the Robelle Staff

Basic Laws of Programming

Any given program, when running, is obsolete.

If a program is useless, it will have to be documented.

If a program is useful, it will have to be changed.

Any program will expand to fill any available memory.

The value of a program is proportional to the weight of its output.

Program complexity grows until it exceeds the capability of the programmer to maintain it.

Make it possible for programmers to write in English and you will find that programmers cannot write in English.

Bradley’s Bromide: If computers get too powerful, we can organize them into a committee — that will do them in.

Weinberg’s Law: If builders built buildings the way programmers wrote programs, the first woodpecker that came along would destroy civilization.

Hoare’s Law of Large Programs: Inside every large program is a small program struggling to get out.

Brooks’ Law: Adding manpower to a late software project makes it later.

Laws of Managing

Work expands to fill the time available. — C.N. Parkinson

In a hierarchy, every employee tends to rise to his level of incompetence. — The Peter Principle

The software project had to be abandoned, and with it, over thirty man-years of programming effort. “You know what went wrong? You let your programmers do things you yourself do not understand.” How could one person ever understand the whole of a modern software product? — C.A.R. Hoare

Laws of Simplicity

Keep it simple, Stupid.

Everything should be made as simple as possible, but no simpler. — Albert Einstein

There are two ways of constructing a software design: one way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies. — C.A.R. Hoare

The price of reliability is the pursuit of utmost simplicity.

— C.A.R. Hoare

Occam’s Razor: Do not multiply concepts beyond necessity.

— William of Occam, 14th century logician. [He actually said Entia non sunt multiplicanda praeter necessitate.]

Boundy Laws of Naming

The wise programmer does not give two names to one thing nor attribute two things to one name.

Names are meaningful and specific, and their length is proportional to their scope. A loop variable used only once in a two-statement loop may be called “i,” but a global variable that may be used anywhere in the program will have a long name that accurately describes its usage. — D. Boundy

Laws of the Universe

Ruckert’s Law: There is nothing so small that it can’t be blown out of proportion.

Ringwald’s Law of Household Geometry: Any horizontal surface is soon piled up on.

Diner’s Dilemma: A clean tie attracts the Soup of the Day.

Thiessen’s Law of Gastronomy: The hardness of the butter is in direct proportion to the softness of the roll.


Copyright The 3000 NewsWire. All rights reserved.