Computer Programming Quotes

This is a small list of my favourite quotes relating to computer programming.

If debugging is the process of removing software bugs, then programming must be the process of putting them in.

First, solve the problem. Then, write the code.

There are no small changes when you're committed to delivering quality software.

The object oriented model provides a structured way to write spaghetti code.

The speed of software halves every 18 months.

Adding complexity to manage complexity is a losing proposition.

If you're willing to restrict the flexibility of your approach, you can almost always do something better.

The language that doesn't have everything is easier to program in than the one that does.

One of my most productive days was throwing away 1000 lines of code.

As we have higher and higher level programming tools with better and better abstractions, becoming a proficient programmer is getting harder and harder.

If your code needs a comment to be understood, it would be better to rewrite it so it's easier to understand.

The cheapest, fastest, and most reliable components are those that aren't there.

Good taste is rethinking the problem so that the special case goes away.

There's a difference between simplifying, and making a higher level of abstraction.

There's always state, what differentiates different approaches is where it is kept.

Most of modern programming is spent creating and consuming fake abstractions that are much more leaky and buggy than we'd like admit.

[Cowardly] minimalism is the illusion of simplicity backed by megabytes of cruft.

To become a generally usable programming product, a program must be written in a generalized fashion.

Once you've dressed and before you leave the house, look in the mirror and take at least one thing off.

Functionality is an asset, but code is a liability.

Personally, I have always found it important to actually understand the things I am using.

Any time you find yourself stopping to think, something has gone wrong.

The problem is that we are attempting to build systems that are beyond our ability to intellectually manage.

When you do things right, people won't be sure you've done anything at all.