Software Programming Quotes to Live by
by Giang, last updated 19 Jan 2018
In no particular order:
If Java had true garbage collection, most programs would delete themselves upon execution.
— Robert Sewell
XML is like violence – if it doesn’t solve your problems, you are not using enough of it.
Linux is only free if your time has no value.
— Jamie Zawinski
Documentation is like sex; when it's good, it's very, very good, and when it's bad, it's better than nothing.
— Dick Brandon
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
— Rick Osborne
There are only two kinds of programming languages: those people always bitch about and those nobody uses.
— Bjarne Stroustrup
I love deadlines. I like the whooshing sound they make as they fly by.
— Douglas Adams
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers. Orders a sfdeljknesv.
— Bill Sempf
Saying that Java is good because it works on all platforms is like saying anal sex is good because it works on all genders.
Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.
— Jamie Zawinski
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.
— Rich Cook
I don’t care if it works on your machine! We are not shipping your machine!
— Ovidiu Platon
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
Perl – The only language that looks the same before and after RSA encryption.
— Keith Bostic
Walking on water and developing software from a specification are easy if both are frozen.
— Edward V Berard
There are two major products that come out of Berkeley: LSD and UNIX. We don’t believe this to be a coincidence.
— Jeremy S. Anderson
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.
— Bjarne Stroustrup
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 Kernighan
It always takes longer than you expect, even when you take into account Hofstadter’s Law.
— Hofstadter’s Law
In C++ it’s harder to shoot yourself in the foot, but when you do, you blow off your whole leg.
— Bjarne Stroustrup
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
You should name a variable using the same care with which you name a first-born child.
— James O. Coplien
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
C++ : Where friends have access to your private members.
— Gavin Russell Baker
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
— E. W. Dijkstra
Programming is like sex: one mistake and you’re providing support for a lifetime.
— Michael Sinz
Computers are like bikinis. They save people a lot of guesswork.
— Sam Ewing
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
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
— Bill Gates
Two things are infinite: the universe and human stupidity; and I’m not sure about the universe.
— Albert Einstein
On two occasions I have been asked, ‘Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?’ I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
— Charles Babbage
In theory, theory and practice are the same. In practice, they’re not.
— Yogi Berra
No matter how slick the demo is in rehearsal, when you do it in front of a live audience, the probability of a flawless presentation is inversely proportional to the number of people watching, raised to the power of the amount of money involved.
— Mark Gibbs
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
— C. A. R. Hoare
Beware of bugs in the above code; I have only proved it correct, not tried it.
— Donald Knuth
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.
— E. W. Dijkstra
A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila.
— Mitch Ratcliffe
In software, we rarely have meaningful requirements. Even if we do, the only measure of success that matters is whether our solution solves the customer’s shifting idea of what their problem is.
— Jeff Atwood
I’ve noticed lately that the paranoid fear of computers becoming intelligent and taking over the world has almost entirely disappeared from the common culture. Near as I can tell, this coincides with the release of MS-DOS.
— Larry DeLuca
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
There are only two hard problems in Computer Science: cache invalidation and naming things.
— Phil Karlton
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
— Jeff Atwood (@codinghorror) August 31, 2014
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery
— Mathias Verraes (@mathiasverraes) August 14, 2015
— Chris Heilmann
What one programmer can do in one month, two programmers can do in two months.
— Fred Brooks
List of excuses for programmers
Actually, that's a feature Did you check for a virus on your system? Don't worry, that value is only wrong half of the time Even though it doesn't work, how does it feel? Everything looks fine my end How is that possible? I broke that deliberately to do some testing I can have a look but there's a lot of if statements in that code! I can't make that a priority right now I can't test everything I couldn't find any examples of how that can be done anywhere else in the project I couldn't find any examples of how that can be done anywhere online I couldn't find any library that can even do that I did a quick fix last time but it broke when we rebooted I didn't anticipate that I would make any errors I didn't create that part of the program I didn't receive a ticket for it I forgot to commit the code that fixes that I had to do the project backwards as people demanded results out of order I have never seen that before in my life I have too many other high priority things to do right now I haven't been able to reproduce that I haven't had any experience with that before I haven't had the chance to run that code yet I haven't touched that code in weeks I heard there was a solar flare today I must have been stress testing our production server I must not have understood what you were asking for I thought he knew the context of what I was talking about I thought I finished that I thought I fixed that I thought you signed off on that? I told you yesterday it would be done by the end of today I usually get a notification when that happens I was just fixing that I was told to stop working on that when something important came up I'll have to fix that at a later date I'm not familiar with it so I didn't fix it in case I made it worse I'm not getting any error codes I'm not sure as I've never had a look at how that works before I'm still working on that as we speak I'm surprised it works as well as it does I'm surprised that was working at all In the interest of efficiency I only check my email for that on a Friday It can't be broken, it passes all unit tests It must be a firewall issue It must be a hardware problem It must be because of a leap second It must be because of a leap year It probably won't happen again It was working in my head It worked yesterday It works for me It works, but it's not been tested It would have taken twice as long to build it properly It would take too long to rewrite the code from scratch It's a browser compatibility issue It's a character encoding issue It's a known bug with the programming language It's a known bug with the server software It's a remote vendor issue It's a third party application issue It's always been like that It's an unexpected emergent behaviour of several last minute abstractions It's just some unlucky coincidence It's never done that before It's never shown unexpected behaviour like this before It's not a code problem - our users need more training Management insisted we wouldn't need to waste our time writing unit tests Maybe somebody forgot to pay our hosting company My time was split in a way that meant I couldn't do either project properly No one told me so I was forced to assume which way to do that Nobody asked me how long it would actually take Nobody has ever complained about it Oh, that was just a temporary fix Oh, that was only supposed to be a placeholder Oh, you said you DIDN'T want that to happen? Our code quality is no worse than anyone else in the industry Our hardware is too slow to cope with demand Our internet connection must not be working Our redundant systems must have failed as well Somebody must have changed my code That behaviour is in the original specification That code seemed so simple I didn't think it needed testing That code was written by the last guy That error means it was successful That feature was slated for phase two That feature would be outside of the scope That important email must have been marked as spam That isn't covered by my job description That process requires human oversight that nobody was providing That was literally a one in a million error That wasn't in the original specification That worked perfectly when I developed it That wouldn't be economically feasible That's already fixed it just hasn't taken effect yet That's interesting, how did you manage to make it do that? That's not a bug it's a configuration issue That's the fault of the graphic designer The accounting department must have cancelled that subscription The client must have been hacked The client wanted it changed at the last minute The code is compiling The download must have been corrupted The existing design makes it difficult to do the right thing The marketing department made us put that there The original specification contained conflicting requirements The person responsible doesn't work here anymore The problem seems to be with our legacy software The program has never collected that information The project manager said no one would want that feature The project manager told me to do it that way The request must have dropped some packets The specifications were ambiguous The third party API is not responding The third party documentation doesn't exist The third party documentation is wrong The unit test doesn't cover that eventuality The user must not know how to use it The WYSIWYG must have produced an invalid output There must be something strange in your data There was too little data to bother with the extra functionality at the time There were too many developers working on that same thing There's currently a problem with our hosting company THIS can't be the source of THAT This code was not supposed to go in to production yet This is a previously known bug you told me not to work on yet We didn't have enough time to peer review the final changes We outsourced that months ago We should have updated our software years ago We spent three months debugging it because we only had one month to build it Well at least we know not to try that again Well done, you found my easter egg! Well, at least it displays a very pretty error Well, that's a first What did I tell you about using parts of the system you don't understand? What did you type in wrong to get it to crash? Where were you when the program blew up? Why do you want to do it that way? You can't use that version on your system You must be missing some of the dependencies You must have done something wrong You must have the wrong version You're doing it wrong Your browser must be caching the old content