Few
companies that installed computers to reduce the employment of clerks have
realized their expectations.... They now need more, and more expensive
clerks even though they call them "operators" or "programmers."
~Peter F. Drucker
Programmer - an organism that turns coffee into software. ~Author Unknown
Programming is like sex. One mistake and you have to support it for the
rest of your life. ~Michael Sinz
All programmers are playwrights and all computers are lousy actors.
~Author Unknown
Always code as if the guy who ends up maintaining your code will be a violent
psychopath who knows where you live. ~Martin Golding
Everyone knows that debugging is twice as hard as writing a program in the
first place. So if you are as clever as you can be when you write it, how
will you ever debug it? ~Brian Kernighan
Sometimes it pays to stay in bed in Monday, rather than spending the rest of
the week debugging Monday's code. ~Dan Salomon
[A]nd then it occurred to me that a computer is a stupid machine with the
ability to do incredibly smart things, while computer programmers are smart
people with the ability to do incredibly stupid things. They are, in
short, a perfect match. ~Bill Bryson
Another effective technique is to explain your code to someone else. This
will often cause you to explain the bug to yourself. Sometimes it takes
no more than a few sentences, followed by an embarrassed "Never mind, I
see what's wrong. Sorry to bother you." This works remarkably
well; you can even use non-programmers as listeners. One university
computer center kept a teddy bear near the help desk. Students with
mysterious bugs were required to explain them to the bear before they could
speak to a human counselor. ~Brian Kernighan and Rob Pike, about
debugging
A good programmer is someone who always looks both ways before crossing a
one-way street. ~Doug Linder
All programmers are optimists. Perhaps this modern sorcery especially
attracts those who believe in happy endings and fairy godmothers. Perhaps
the hundreds of nitty frustrations drive away all but those who habitually
focus on the end goal. Perhaps it is merely that computers are young,
programmers are younger, and the young are always optimists. ~Frederick
Brooks, Jr.
Any fool can write code that a computer can understand. Good programmers
write code that humans can understand. ~Martin Fowler
Any sufficiently advanced bug is indistinguishable from a feature. ~Rich
Kulawiec
Beta. Software undergoes beta testing shortly before it's released.
Beta is Latin for "still doesn't work." ~Author Unknown
Controlling complexity is the essence of computer programming. ~Brian
Kernighan
Don't argue with people who write with digital ink and pay by the
kilowatt-hour. ~Don Rittner
From a programmer's point of view, the user is a peripheral that types when you
issue a read request. ~Peter Williams
At Group L, Stoffel oversees six first-rate programmers, a managerial challenge
roughly equivalent to herding cats. ~The Washington Post Magazine, 9 June
1985
It's not a bug - it's an undocumented feature. ~Author Unknown
Version 1 of any software is full of bugs. Version 2 fixes all the bugs
and is great. Version 3 adds all the things users ask for, but hides all
the great stuff in Version 2. ~Fred Blechman
Writing the first 90 percent of a computer program takes 90 percent of the
time. The remaining ten percent also takes 90 percent of the time and the
final touches also take 90 percent of the time. ~N.J. Rubenking
Good code is its own best documentation. As you're about to add a
comment, ask yourself, "How can I improve the code so that this comment
isn't needed?" ~Steve McConnell
Great software, likewise, requires a fanatical devotion to beauty. If you
look inside good software, you find that parts no one is ever supposed to see
are beautiful too. I'm not claiming I write great software, but I know
that when it comes to code I behave in a way that would make me eligible for
prescription drugs if I approached everyday life the same way. It drives
me crazy to see code that's badly indented, or that uses ugly variable names.
~Paul Graham, "Hackers and Painters," 2003
I really hate this darn machine;
I wish that they would sell it.
It won't do what I want it to,
but only what I tell it.
~Author Unknown
He who hasn't hacked assembly language as a youth has no heart. He who
does so as an adult has no brain. ~John Moore
If debugging is the process of
removing bugs, then programming must be the process of putting them in.
~Author Unknown
If you cannot grok the overall structure of a program while taking a shower,
e.g., with no external memory aids, you are not ready to code it.
~Richard Pattis
It should be noted that no ethically-trained software engineer would ever
consent to write a DestroyBaghdad procedure. Basic professional ethics
would instead require him to write a DestroyCity procedure, to which Baghdad
could be given as a parameter. ~Nathaniel S. Borenstein
It's easy to cry "bug" when the truth is that you've got a complex
system and sometimes it takes a while to get all the components to co-exist
peacefully. ~Doug Vargas
It's okay to figure out murder mysteries, but you shouldn't need to figure out
code. You should be able to read it. ~Steve McConnell
It's the only job I can think of where I get to be both an engineer and an
artist. There's an incredible, rigorous, technical element to it, which I
like because you have to do very precise thinking. On the other hand, it
has a wildly creative side where the boundaries of imagination are the only
real limitation. ~Andy Hertzfeld, about programming
We should forget about small efficiencies, say about 97% of the time:
premature optimization is the root of all evil. ~C.A.R. Hoare, quoted by
Donald Knuth
Programming is like sex. One mistake and you have to support it for the
rest of your life. ~Michael Sinz
Programming is similar to a game of golf. The point is not getting the
ball in the hole but how many strokes it takes. ~Harlan Mills
Programming languages should be designed not by piling feature on top of
feature, but by removing the weaknesses and restrictions that make additional
features appear necessary. ~Author Unknown
Programming languages, like pizzas, come in only two sizes: too big and
too small. ~Richard Pattis
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. ~Author Unknown
Programs for sale: fast, reliable, cheap - choose two. ~Author
Unknown
Ready, fire, aim: the fast approach to software development. Ready,
aim, aim, aim, aim: the slow approach to software development.
~Author Unknown
Reusing pieces of code is like picking off sentences from other people's
stories and trying to make a magazine article. ~Bob Frankston
Should array indices start at 0 or 1? My compromise of 0.5 was rejected
without, I thought, proper consideration. ~Stan Kelly-Bootle
The best performance improvement is the transition from the nonworking state to
the working state. ~J. Osterhout
The magic of myth and legend has come true in our time. One types the
correct incantation on a keyboard, and a display screen comes to life, showing
things that never were nor could be.... The computer resembles the magic of
legend in this respect, too. If one character, one pause, of the
incantation is not strictly in proper form, the magic doesn't work. Human
beings are not accustomed to being perfect, and few areas of human activity
demand it. Adjusting to the requirement for perfection is, I think, the
most difficult part of learning to program. ~Frederick Brooks
The only way for errors to occur in a program is by being put there by the
author. No other mechanisms are known. Programs can't acquire bugs
by sitting around with other buggy programs. ~Harlan Mills
There are two ways to write error-free programs; only the third one
works. ~Alan J. Perlis
One man's constant is another man's variable. ~Alan J. Perlis
There does not now, nor will there ever exist, a programming language in which
it is the least bit hard to write bad programs. ~Lawrence Flon
We don't manage our time as well as we manage our space. There's an
overhead of starting and an overhead of stopping a project because you kind of
lose your momentum. And you've got to bracket and put aside all the
things you're already doing. So you need reasonably large blocks of
uninterrupted time if you're going to be successful at doing some of these
things. That's why hackers tend to stay up late. If you stay up
late and you have another hour of work to do, you can just stay up another hour
later without running into a wall and having to stop. Whereas it might
take three or four hours if you start over, you might finish if you just work
that extra hour. If you're a morning person, the day always intrudes a
fixed amount of time in the future. So it's much less efficient.
Which is why I think computer people tend to be night people - because a
machine doesn't get sleepy. ~Bill Joy
When a programming language is created that allows programmers to program in
simple English, it will be discovered that programmers cannot speak
English. ~Author Unknown
When debugging, novices insert corrective code; experts remove defective
code. ~Richard Pattis
When you catch bugs early, you also get fewer compound bugs. Compound
bugs are two separate bugs that interact: you trip going downstairs, and
when you reach for the handrail it comes off in your hand. ~Paul Graham,
"The Other Road Ahead," 2001
You cannot teach beginners top-down programming, because they don't know which
end is up. ~C.A.R. Hoare
In programming, as in everything else, to be in error is to be reborn.
~Alan J. Perlis
The New Testament offers the basis for modern computer coding theory, in the
form of an affirmation of the binary number system. "But let your
communication be Yea, yea; nay, nay: for whatsoever is more than these cometh
of evil." Matthew 5:37 ~Author Unknown
What I mean is that if you really want to understand something, the best way is
to try and explain it to someone else. That forces you to sort it out in
your own mind. And the more slow and dim-witted your pupil, the more you
have to break things down into more and more simple ideas. And that's really
the essence of programming. By the time you've sorted out a complicated
idea into little steps that even a stupid machine can deal with, you've
certainly learned something about it yourself. ~Douglas Adams