Most of the good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.
— Linus Torvalds
Astounding Computer Software quotations
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
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.
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.
It takes a touch of genius - and a lot of courage to move in the opposite direction.
Diaspora starts about a thousand years from now.
Most of human civilisation has moved inside computers; essentially, a major branch of our descendants consists of conscious software.
It's hardware that makes a machine fast. It's software that makes a fast machine slow.
Talk is cheap. Show me the code.
The question of whether computers can think is like the question of whether submarines can swim.
Any fool can write code that a computer can understand.
Good programmers write code that humans can understand.
The novice-friendly software is more like a misbehaving dog: it shits on the floor, it destroys things, and stinks - the novice-friendly software embodies the opposite of what computer people have dreamed of for decades: artificial stupidity. It's more human.
Most of you are familiar with the virtues of a programmer.
There are three, of course: laziness, impatience, and hubris.
When debugging, novices insert corrective code; experts remove defective code.
Software suppliers are trying to make their software packages more 'user-friendly'... Their best approach so far has been to take all the old brochures and stamp the words 'user-friendly' on the cover.
Computers are good at following instructions, but not at reading your mind.
Software gets slower faster than hardware gets faster.
The trouble with programmers is that you can never tell what a programmer is doing until it's too late.
This will surprise some of your readers, but my primary interest is not with computer security. I am primarily interested in writing software that works as intended.
The function of good software is to make the complex appear to be simple.
Considering the current sad state of our computer programs, software development is clearly still a black art, and cannot yet be called an engineering discipline.
Hardware: where the people in your company's software section will tell you the problem is. Software: where the people in your company's hardware section will tell you the problem is.
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.
The cheapest, fastest, and most reliable components are those that aren't there.
You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time.
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.
There's an old story about the person who wished his computer were as easy to use as his telephone. That wish has come true, since I no longer know how to use my telephone.
Interactive computers and software will, I think, provide a less costly method of doing some kinds of inquiry, in knowledge acquisition and even reasoning and interaction.
Simplicity and elegance are unpopular because they require hard work and discipline to achieve and education to be appreciated.
A language that doesn't have everything is actually easier to program in than some that do
When someone says, "I want a programming language in which I need only say what I want done," give him a lollipop.
The computer was born to solve problems that did not exist before.
Controlling complexity is the essence of computer programming.
Know what you're talking about.
Computers themselves, and software yet to be developed, will revolutionize the way we learn.
The unavoidable price of reliability is simplicity.