Over the years i collected some (funny) programming quotes. Lean back and enjoy:
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it?
Brian W. Kernighan
Don’t comment bad code—rewrite it.
Brian W. Kernighan
The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.
Brian W. Kernighan
90% of the functionality delivered now is better than 100% delivered never.
Kernighan & Plauger
C is quirky, flawed, and an enormous success.
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.
What one programmer can do in one month, two programmers can do in two months."
Nine women can’t make a baby in one month.
Good judgement is the result of experience … Experience is the result of bad judgement.
Before software can be reusable it first has to be usable.
You can have the project: Done On Time. Done On Budget. Done Properly - Pick two.
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
Expert programmers know how to choose the level of abstraction appropriate to their task.
Structure and Interpretation of Computer Programs, by Abelson, Sussman, and Sussman
When one teaches, two learn.
Weeks of coding can save you hours of planning.
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.
One of my most productive days was throwing away 1000 lines of code.
A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want.
The craft of programming begins with empathy, not formatting or languages or tools or algorithms or data structures.
I bought my boss two copies of The Mythical Man Month so that he could read it twice as fast.
There’s nothing more permanent than a temporary hack.
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.
Program testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence.
Simplicity is a prerequisite for reliability.
No matter how slow you are writing clean code, you will always be slower if you make a mess.
Uncle Bob Martin
First, solve the problem. Then, write the code.
We sort of understood abstractly the idea that there are only two kinds of software projects: failures and future legacy horrors.
Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.
Eric S. Raymond
Programs must be written for people to read, and only incidentally for machines to execute.
Harold Abelson & Gerald Jay Sussman
Programming is not about typing, it’s about thinking.
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
Be careful about using the following code — I’ve only proven that it works, I haven’t tested it.
Thinking doesn’t guarantee that we won’t make mistakes. But not thinking guarantees that we will.
Debugging is like being the detective in a crime movie where you are also the murderer.
Good specifications will always improve programmer productivity far better than any programming tool or technique.
Programming can be fun, so can cryptography; however they should not be combined.
Kreitzberg & Shneiderman
The purpose of software engineering is to control complexity, not to create it.
The best programs are the ones written when the programmer is supposed to be working on something else.
“How did you know so much about computers?”
“I didn’t, it was the first one.”
Grace Hopper on Letterman
One accurate measurement is worth a thousand expert opinions.
People have an enormous tendency to resist change. They love to say, ‘We’ve always done it this way.’ I try to fight that.
There are a million ways to lose a work day, but not even a single way to get one back.
The sooner you start to code, the longer the program will take.
Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.
There are two ways to write error-free programs; only the third one works.
Alan J. Perlis
Don’t worry about what anyone else is going to do. The best way to predict the future is to invent it.
Make it correct, make it clear, make it concise, make it fast. In that order.
For every complex problem, there is a solution that is simple, neat, and wrong.
The best way to get the right answer on the internet is not to ask a question; it’s to post the wrong answer.
Give someone a program, you frustrate them for a day; teach them how to program, you frustrate them for a lifetime.
If you don’t actively attack the risks, the risks will actively attack you.
Projects without clear goals will not achieve their goal clearly.
If it doesn’t work, it doesn’t matter how fast it doesn’t work.
Today, most software exists, not to solve a problem, but to interface with other software.
I love deadlines. I like the whooshing sound they make as they fly by.
There are only two kinds of languages: the ones people complain about and the ones nobody uses.
The most important single aspect of software development is to be clear about what you are trying to build.
I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone.
It is far, far easier to make a correct program fast than it is to make a fast program correct.
Anyone could learn Lisp in one day, except that if they already knew Fortran, it would take three days.
“When debugging, novices insert corrective code; experts remove defective code.”
10 lines of code = 10 issues.
500 lines of code = “looks fine.”
“Typescript is hugely helpful when you’re working on a big team.”
“More than yourself.”
Walking on water and developing software from a specification are easy if both are frozen.
Edward V Berard
In order to understand recursion, one must first understand recursion.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
A good programmer looks both ways before crossing a one-way street.
Just don’t create a file called -rf.
You want it in one line? Does it have to fit in 80 columns?
Linux is only free if your time has no value.
Never trust a computer you can’t throw out a window.
A good way to stay flexible is to write less code.
Code never lies, comments sometimes do.