SMALL TALK |
|||
|
|||
A program is a spell cast over a computer, turning input into error messages.
All programmers are playwrights and all computers are lousy actors.
An apprentice carpenter may want only a hammerand saw, but a master craftsman
employs many precision tools. Computer programming likewise requires sophisticated
tools to cope with the complexity of real applications, and only practice with
these tools will build skill in their use.
An organization that treats its programmers as morons will soon have
programmers that are willing and able to act like morons only.
An ounce of prevention is worth a ton of code.
As a rule, software systems do not work well until they have been used,
and have failed repeatedly, in real applications.
As soon as we started programming, we found out to our surprise that it wasn't
as easy to get programs right as we had thought. Debugging had to be discovered.
I can remember the exact instant when I realized that a large part of my life
from then on was going to be spent in finding mistakes in my own programs.
Beware of programmers carrying screwdrivers.
Debugging is anticipated with distaste, performed with reluctance, and
bragged about forever.
Don't get suckered in by the comments ... they can terribly be misleading.
Debug only code.
Even the most experienced programmers find faults in their programs.
Every program has two purposes -- one for which it was written and another
for which it wasn't.
Everyone can be be taught to sculpt. Michelangelo would have had
to be taught how not to. So it is with the great programmers.
GOTO statement considered harmful
He analyzes programmers. He is a Programmer Analyst. If he analyzed AND
programmed, he would be a Programmer/Analyst.
I think we can take it for granted that any software we write now won't
be used 130 years from now. (Except for banks and their COBOL apps, but that's a
special case.)
If builders built buildings the way programmers wrote programs, then the
first woodpecker that came along would destroy civilization.
If debugging is the process of removing bugs, then programming must be the
process of putting them in.
If we can dispel the delusion that learning about computers should be an
activity of fiddling with array indexes and worrying whether X is an integer or
a real number, we can begin to focus on programming as a source of ideas.
I'm embarassed. My own software will properly reject my own idea.
Make it possible for programmers to write in English and you will find
the programmers cannot write in English.
Optimization hinders evolution.
Programming graphics in X is like finding the square root of PI using
Roman numerals.
Programming today is a race between software engineers striving to build
bigger and better idiot-proof programs, and the Universe trying to produce
bigger and better idiots. So far, the Universe is winning.
Real programmers are those that can sleep in front of terminals ...
with their eyes opened.
Real programmers can write assembly code in any language.
Real programmers don't comment their code. If it was hard to write,
it should be hard to understand.
Real programmers don't play tennis, or any other sport that requires
you to change clothes. Mountain climbing is OK, and real programmers
wear their climbing boots to work in case a mountain should suddenly spring
up in the middle of the machine room.
Real programmers don't work from 9 to 5. If any real programmers are
around at 9am it's because they were up all night.
Real programmers don't write in PL/I. PL/I is for programmers
who can't decide whether to write in COBOL or FORTRAN.
Real programmers program with: COPY CON PROGRAM.EXE
Real programmers think better when playing Adventure or Rogue.
Sometimes it pays to stay in bed in Monday, rather than
spending the rest of the week debuging Monday's code.
The best book on programming for the layman is "Alice in Wonderland";
but that's because it's the best book on anything for layman.
The computer programmer is a creator if universes for which he alone is
responsible. Universes of virtually unlimited complexity can be
created in the form of computer programs.
There are two ways of constructing a software design: One way is to make
it simple that there are obviously no deficiencies, and the other way is to
make it so complicated that there are no obvious deficiencies. The first method
is far more difficult.
To iterate is human, to recurse, divine.
To the systems programmer, users and applications serve only to provide a test load.
Unlike other forms of art, computer programs do 'Come to life' in a sense.
|
[Small Talk Index] [Home] |