Programming Quotes

I got this off a site long ago but I forgot where I got it…


If you lie to the compiler, it will get its revenge.
-Henry Spencer

Trying to outsmart a compiler defeats much of the purpose of using one.
-Kernighan & Plauger, The Elements of Programming Style.

It’s hard enough to find an error in your code when you’re looking for it; it’s even harder when you’ve assumed your code is error-free.
-Steve McConnell (Code Complete)

If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilisation.
-Gerald Weinberg

Programming can be fun, so can cryptography; however they should not be combined.
-Kreitzberg and Shneiderman

Testing by itself does not improve software quality. Test results are an indicator of quality, but in and of themselves, they don’t improve it. Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often. What you eat before you step onto the scale determines how much you will weigh, and the software development techniques you use determine how many errors testing will find. If you want to lose weight, don’t buy a new scale; change your diet. If you want to improve your software, don’t test more; develop better.
-Steve McConnell (Code Complete)

Once a new technology starts rolling, if you’re not part of the steamroller, you’re part of the road.
-Stewart Brand

The truth does not change according to our ability to stomach it.
-Flannery O’Connor

Let us change our traditional attitude to the construction of programs. Instead of imagining that our main task is to instruct a computer what to to, let us concentrate rather on explaining to human beings what we want a computer to do.
-Donald Knuth

Beware of bugs in the above code; I have only proved it correct, not tried it.
-Donald Knuth

Computers are good at following instructions, but not at reading your mind.
-Donald Knuth

… the designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual. … If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.
-Donald Knuth

Any inaccuracies in this index may be explained by the fact that it has been sorted with the help of a computer.
-Donald Knuth (Sorting and Searching)

TeX has found at least one bug in every Pascal compiler it’s been run on, I think, and at least two in every C compiler.
-Donald Knuth

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it can be an aesthetic experience much like composing poetry or music.
-Donald Knuth

You’re bound to be unhappy if you optimize everything.
-Donald Knuth

These machines have no common sense; they have not yet learned to “think,” and they do exactly as they are told, no more and no less. This fact is the hardest concept to grasp when one first tries to use a computer.
-Donald Knuth

We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
-Donald Knuth

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?’ Improve the code and then document it to make it even clearer.
-Steve McConnell (Code Complete)

The trouble with the world is that the stupid are cocksure and the intelligent are full of doubt.
-Bertrand Russell

A charlatan makes obscure what is clear; a thinker makes clear what is obscure.
-Hugh Kingsmill

Unformed people delight in the gaudy and in novelty. Cooked people delight in the ordinary.
-Erik Naggum

An organisation that treats its programmers as morons will soon have programmers that are willing and able to act like morons only.
-Bjarne Stroustrup

Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
-Bill Gates

The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.
-Tom Cargill

Before software can be reusable it first has to be usable.
-Ralph Johnson

Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning.
-Anon

Two things are infinite: the universe and human stupidity; and I’m not sure about the universe.
-Albert Einstein

Just because the standard provides a cliff in front of you, you are not necessarily required to jump off it.
-Norman Diamond

But in our enthusiasm, we could not resist a radical overhaul of the system, in which all of its major weaknesses have been exposed, analyzed, and replaced with new weaknesses.
-Bruce Leverett, (Register Allocation in Optimizing Compilers)

The best performance improvement is the transition from the nonworking state to the working state
-John Ousterhout

As soon as we started programming, we found 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.
-Maurice Wilkes discovers debugging, 1949

Real computer scientists despise the idea of actual hardware. Hardware has limitations, software doesn’t. It’s a real shame that Turing machines are so poor at I/O.
-Anon

There are only two industries that refer to their customers as “users”.
-Edward Tufte

Debugging a Direct3D application can be challenging.
-Microsoft’s Direct3D Immediate Mode overview.

If you want a girlfriend, avoid working in the computer games industry like the plague. If you work seven days a week, 15 hours a day for almost two years, with barely enough time for a pint, you have no time whatsoever for relationships. Plus computer-games makers are regarded as being about as hip and cool as abattoir workers.
-Toby Gard, creator of Lara Croft.

There are two ways to write error-free programs; only the third works.
-Alan J. Perlis

To many managers, getting rid of the arrogant, undisciplined, over-paid, technology-obsessed, improperly-dressed etc. programmers would appear to be a significant added benefit.
-Bjarne Stroustrup (The C++ Programming Language 3e, section 24.2.4)

I did say something along the lines of “C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows your whole leg off.”
-Bjarne Stroustrup

I have always wished that my computer would be as easy to use as my telephone. My wish has come true. I no longer know how to use my telephone.
-Bjarne Stroustrup

Naturally we feel that mentally ill people are not what we are looking for when we hire programmers – although there is no empirical data to support or contradict that view…… Is it appropriate to give tests for mental illness to anyone applying for any kind of job?
-Weinberg (The Psychology of Computer Programming)

The most important single aspect of software development is to be clear about what you are trying to build.
-Bjarne Stroustrup

If you think your management doesn’t know what it’s doing or that your organisation turns out low-quality software crap that embarrasses you, then leave.
-Edward Yourdon (Rise and Resurrection of the American Programmer)

Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.
-Larry Wall

It has been said that the great scientific disciplines are examples of giants standing on the shoulders of other giants. It has also been said that the software industry is an example of midgets standing on the toes of other midgets.
-Alan Cooper (About Face)

The road to wisdom?
Well its plain and simple to express:
Err and err and err again,
but less and less and less.
-Piet Hein

There are perhaps 5% of the population that simply *can’t* think.
There are another 5% who *can*, and *do*.
The remaining 90% *can* think, but *don’t*.

-R. A. Heinlein

Lord, give us the wisdom to utter words that are gentle and tender, for tomorrow we may have to eat them.
-Sen. Morris Udall

Do not worry about your difficulties in mathematics, I assure you that mine are greater.
-Einstein

Computers are useless. They can only give you answers.
-Pablo Picasso

Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why.
Programmers combine theory and practice: Nothing works and they don’t know why.

I really hate this damned machine
I wish that they would sell it.
It never does quite what I want
But only what I tell it.

-A Programmer’s Lament

UNIX is simple. It just takes a genius to understand its simplicity.
-Dennis Ritchie

When someone says, “I want a programming language in which I need only say what I want done,” give him a lollipop.
-Alan Perlis

For every complex problem there is an answer that is clear, simple, and wrong.
-H L Mencken

One of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs.
-Robert Firth

Haste is of the devil. Slowness is of God.
-H L Mencken

If the code and the comments disagree, then both are probably wrong.
-attributed to Norm Schryer

Good programmers use their brains, but good guidelines save us having to think out every case.
-Francis Glassborow

…well over half of the time you spend working on a project (on the order of 70 percent) is spent thinking, and no tool, no matter how advanced, can think for you. Consequently, even if a tool did everything except the thinking for you — if it wrote 100 percent of the code, wrote 100 percent of the documentation, did 100 percent of the testing, burned the CD-ROMs, put them in boxes, and mailed them to your customers — the best you could hope for would be a 30 percent improvement in productivity. In order to do better than that, you have to change the way you think.
-Fred Brook [paraphrased] (as quoted from Allen Holub)

Never ascribe to malice that which is adequately explained by incompetence
-Napoleon Bonaparte

Sufficiently advanced incompetence is indistinguishable from malice.

And the users exclaimed with a laugh and a taunt: “It’s just what we asked for but not what we want.”

Some problems are so complex that you have to be highly intelligent and well informed just to be undecided about them.
-Laurence J. Peter

The Six Phases of a Project:

  • Enthusiasm
  • Disillusionment
  • Panic
  • Search for the Guilty
  • Punishment of the Innocent
  • Praise for non-participants
  • Those who cannot remember the past are condemned to repeat it.
    -George Santayana

    Fashion is something barbarous, for it produces innovation without reason and imitation without benefit.
    -George Santayana

    For a sucessful technology, honesty must take precedence over public relations for nature cannot be fooled.
    -Richard Feynman

    The inside of a computer is as dumb as hell but it goes like mad!
    -Richard Feynman

    The act of focusing our mightiest intellectual resources on the elusive goal of goto-less programs has helped us get our minds off all those really tough and possibly unresolvable problems and issues with which today’s professional programmer would otherwise have to grapple.
    -John Brown

    A most important, but also most elusive, aspect of any tool is its influence on the habits of those who train themselves in its use. If the tool is a programming language this influence is, whether we like it or not, an influence on our thinking habits.
    -Edsger Dijkstra

    To iterate is human, to recurse divine.
    -L. Peter Deutsch

    Increasingly, people seem to misinterpret complexity as sophistication, which is baffling—the incomprehensible should cause suspicion rather than admiration. Possibly this trend results from a mistaken belief that using a somewhat mysterious device confers an aura of power on the user.
    -Niklaus Wirth

    There’s no sense being exact about something if you don’t even know what you’re talking about.
    -John von Neumann

    Anyone who considers arithmetical methods of producing random numbers is, of course, in a state of sin.
    -John von Neumann

    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 cost of adding a feature isn’t just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. … The trick is to pick the features that don’t fight each other.
    -John Carmack

    You can’t have great software without a great team, and most software teams behave like dysfunctional families.
    -Jim McCarthy

    Even if you’re on the right track, you’ll get run over if you just sit there.
    -Will Rogers

    That’s the thing about people who think they hate computers. What they really hate is lousy programmers.
    -Larry Niven and Jerry Pournelle (Oath of Fealty)

    Trying to get into the details seems to be a religious issue — nearly everybody is convinced that every style but their own is ugly and unreadable. Leave out the “but their own” and they’re probably right…
    -Jerry Coffin on indentation

    When you start off by telling those who disagree with you that they are not merely in error but in sin, how much of a dialogue do you expect ?”
    -Thomas Sowell

    Einstein argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.
    -Fred Brooks, Jr.

    Incompetents invariably make trouble for people other than themselves.
    -Larry McMurtry

    A notation is important for what it leaves out.
    -Joseph Stoy

    As we said in the preface to the first edition, C “wears well as one’s experience with it grows.” With a decade more experience, we still feel that way.
    -Brian Kernighan and Dennis Ritchie

    A mathematician is a machine for turning coffee into theorems.
    -Paul Erdos

    Ugly programs are like ugly suspension bridges: they’re much more liable to collapse than pretty ones, because the way humans (especially engineer-humans) perceive beauty is intimately related to our ability to process and understand complexity. A language that makes it hard to write elegant code makes it hard to write good code.
    -Eric S. Raymond

    PHP is a minor evil perpetrated and created by incompetent amateurs, whereas Perl is a great and insidious evil, perpetrated by skilled but perverted professionals.
    -Jon Ribbens

    Simplicity is prerequisite for reliability
    -Edsger W.Dijkstra

    I’ve finally learned what “upward compatible” means. It means we get to keep all our old mistakes.
    -Dennie van Tassel

    Exceptions relieve the programmer of tedious writing boilerplate code — without removing the semantics of said code — and they allow the programmer to arrange the code so that error handling code is more separate from the main program logic.
    -Herb Sutter

    It is difficult to get a man to understand something when his salary depends on his not understanding it.
    -Upton Sinclair

    Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.
    -Jamie Zawinski

    The behavior of any bureaucratic organization can best be understood by assuming that it is controlled by a secret cabal of its enemies.
    -Robert Conquest’s Second Law of Politics

    Power is the ability to control things, moral authority is the ability to change things
    -Jim Wallis

    There is nothing more difficult to carry out, nor more doubtful of success, nor more dangerous to handle, than to initiate a new order of things. For the reformer has enemies in all those who profit by the old order, and only lukewarm defenders in all those who would profit by the new…
    -Niccolo Macchiavelli, The Prince

    The open secrets of good design practice include the importance of knowing what to keep whole, what to combine, what to separate, and what to throw away.
    -Kevlin Henny

    Rules of Optimization:
    Rule 1: Don’t do it.
    Rule 2 (for experts only): Don’t do it yet.

    -M.A. Jackson

    More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason – including blind stupidity.
    -W.A. Wulf

    The best is the enemy of the good.
    -Voltaire

    There’s a fine line between being on the leading edge and being in the lunatic fringe.
    -Frank Armstrong

    The pessimist complains about the wind; the optimist expects it to change; the realist adjusts the sails.
    -William Arthur Ward

    Good judgement comes from experience, and experience comes from bad judgement.
    -Fred Brooks

    Plan to throw one away, you will anyhow.
    -Fred Brooks

    If you plan to throw one away, you will throw away two.
    -Craig Zerouni

    Learning is not compulsory. Neither is survival.
    -W. Edwards Deming

    C++ tries to guard against Murphy, not Machiavelli.
    -Damian Conway

    I have always found that plans are useless, but planning is indispensable.
    -Dwight Eisenhower

    We are tied down to a language which makes up in obscurity what it lacks in style.
    -Tom Stoppard

    They always say time changes things, but you actually have to change them yourself.
    -Andy Warhol

    We only acknowledge small faults in order to make it appear that we are free from great ones.
    -La Rochefoucauld

    Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.
    -Alan Kay

    We all agree on the necessity of compromise. We just can’t agree on when it’s necessary to compromise.
    -Larry Wall

    Perl is another example of filling a tiny, short-term need, and then being a real problem in the longer term.
    -Alan Kay

    The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.
    -Edsger Dijkstra

    It is practically impossible to teach good programming style to students that have had prior exposure to Basic; as potential programmers they are mentally mutilated beyond hope of regeneration.
    -Edsger Dijkstra

    We are apt to shut our eyes against a painful truth…. For my part, I am willing to know the whole truth; to know the worst; and to provide for it.
    -Patrick Henry

    A non-virtual function says, you have to do this and you must do it this way. A virtual function says you have to do this, but you don’t have to do it this way. That’s their fundamental difference.
    -Scott Meyers

    Comparing to another activity is useful if it helps you formulate questions, it’s dangerous when you use it to justify answers.
    -Martin Fowler

    Correctness is clearly the prime quality. If a system does not do what it is supposed to do, then everything else about it matters little.
    -Bertrand Meyer

    An API that isn’t comprehensible isn’t usable.
    -James Gosling

    Style distinguishes excellence from accomplishment.
    -James Coplien

    You know you’ve achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away.
    -Antoine de Saint-Exupery, Wind, Sand and Stars

    It always takes longer than you expect, even when you take into account Hofstadter’s Law.
    -Hofstadter’s Law

    The ability to simplify means to eliminate the unnecessary so that the necessary may speak.
    -Hans Hoffmann

    Simplicity carried to the extreme becomes elegance.
    -Jon Franklin

    Simplicity is the ultimate sophistication.
    -Leonardo da Vinci

    Moving parts in rubbing contact require lubrication to avoid excessive wear. Honorifics and formal politeness provide the lubrication where people rub together. Often the very young, the untraveled, the naive, the unsophisticated deplore these formalities as “empty,” “meaningless,” or “dishonest,” and scorn to use them. No matter how “pure” their motives, they thereby throw sand into machinery that does not work too well at best.
    -Robert A. Heinlein

    It’s so easy to become mesmerized by the immediacy of a result that you don’t question its validity.
    -Naomi Karten

    Every program has (at least) two purposes: the one for which it was written, and another for which it wasn’t.
    -Alan J. Perlis

    Elegance is not optional
    -Richard O’Keefe

    The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the computer hardware industry.
    -Henry Petroski

    Technology is dominated by two types of people: Those who understand what they do not manage. Those who manage what they do not understand.
    -Putt’s Law

    Copy and paste is a design error
    -David Parnas

    There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code.
    -Flon’s Law

    When one is postulating correlations or causations extant in reality, one should always remember that the human brain is mainly a pattern recognition engine. And it is such a persistent pattern recognition engine that it often perceives patterns where none exist.
    -Jeff Walther

    Any code of your own that you haven’t looked at for six or more months might as well have been written by someone else.
    -Eagleson’s law

    If you can’t be a good example, then you’ll just have to be a horrible warning.
    -Catherine Aird

    Alas, to wear the mantle of Galileo it is not enough that you be persecuted by an unkind establishment, you must also be right.
    -Bob Park

    Any fool can use a computer. Many do.
    -Ted Nelson

    Say what you will about the Ten Commandments, you must always come back to the pleasant fact that there are only ten of them.
    -H. L. Mencken

    You can know the name of a bird in all the languages of the world, but when you’re finished, you’ll know absolutely nothing whatever about the bird… So let’s look at the bird and see what it’s doing — that’s what counts. I learned very early the difference between knowing the name of something and knowing something.
    -Richard Feynman

    Incorrect documentation is often worse than no documentation.
    -Bertrand Meyer

    Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
    -Brian W. Kernighan

    If the lessons of history teach us anything it is that nobody learns the lessons that history teaches us.

    The primary duty of an exception handler is to get the error out of the lap of the programmer and into the surprised face of the user. Provided you keep this cardinal rule in mind, you can’t go far wrong.
    -Verity Stob

    If you want a product with certain characteristics, you must ensure that the team has those characteristics before the product’s development.
    -Jim and Michele McCarthy – Software for your Head

    Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.
    -Conway’s Law (For example, if you have four groups working on a compiler, you’ll get a 4-pass compiler)

    It’s not at all important to get it right the first time. It’s vitally important to get it right the last time.
    -Andrew Hunt and David Thomas

    • Here's what I used for the status:
      http://eightface.com/wordpress/mystatus/

      Originally, it was a piece of code I stuck into the sidebar. Then, I found a sidebar widget (I think it was called "Sidebar Widgets."

      I checked out how the other widgets were done, made the status code the other widgets and now there it is :P
    • Mia
      Heeee! Funny. I liked a lot of these quotes. Which reminds me I should start compiling my favorite physics/writing quotes.

      How did you do the "status" part in the sidebar? Is it plugin-based or do you manually edit a php file?
    blog comments powered by Disqus