Programming Quotes

Thursday, June 30, 2005
By: Matthew Doucette

(Back to all quotes.)


“2 is not equal to 3 - not even for very large values of 2.” - Grabel's Law

“A logician trying to explain logic to a programmer is like a cat trying to explain to a fish what it's like to get wet.” - unknown

“A user interface is well-designed when the program behaves exactly how the user thought it would.” - Joel Spolsky, User Interface Design for Programmers Chapter 1: Controlling Your Environment Makes You Happy

“Adding manpower to a late software project makes it later.” - unknown

“After you finish the first 90% of a project, you have to finish the other 90%.” - Michael Abrash

“And they showed me really three things. But I was so blinded by the first one I didn't even really see the other two. One of the things they showed me was object orienting programming they showed me that but I didn't even see that. The other one they showed me was a networked computer system...they had over a hundred Alto computers all networked using email etc., etc., I didn't even see that. I was so blinded by the first thing they showed me which was the graphical user interface. I thought it was the best thing I'd ever seen in my life. Now remember it was very flawed, what we saw was incomplete, they'd done a bunch of things wrong. But we didn't know that at the time but still though they had the germ of the idea was there and they'd done it very well and within you know ten minutes it was obvious to me that all computers would work like this some day.” - Steve Jobs, December 1979, after visiting Xerox Parc

“Any non-trivial program contains at least one bug.” - unknown

“Any program will expand to fill available memory.” - unknown

“As a former manager of mine liked to say, "After you finish the first 90% of a project, you have to finish the other 90%." It's that second 90% that's the key to success.” - Michael Abrash

“As soon as we started programming, we found out 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

“At the source of every error which is blamed on the computer you will find at least two human errors, including the error of blaming it on the computer.” - unknown

“Because of the nature of Moore's law, anything that an extremely clever graphics programmer can do at one point can be replicated by a merely competent programmer some number of years later.” - John Carmack

“Belief is no substitute for arithmetic.” - Henry Spencer

“Computer science is no more about computers than astronomy is about telescopes.” - Edsger Dijkstra

“Computers are unreliable, but humans are even more unreliable.” - unknown

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

“Convenient though it would be if it were true, Mozilla [Netscape 1.0] is not big because it's full of useless crap. Mozilla is big because your needs are big. Your needs are big because the Internet is big. There are lots of small, lean web browsers out there that, incidentally, do almost nothing useful. But being a shining jewel of perfection was not a goal when we wrote Mozilla.” - Jamie Zawinski, Author of Netscape Navigator

“Current Pentium chips process around 3 billion instructions every second (3 GHz). In trying to get my head around what numbers like that mean, I noticed that 3 billion is roughly the number of seconds in 100 years, give or take 20%. It is hard to imagine doing something every second, and continuing to do it for one hundred years, but that is what our modern desktop computers do -- IN ONE SECOND of processing! On the same scale it has always been a rule of thumb for me that light travels a foot in a nanosecond (in a vacuum). This means that in the time it takes to execute one [Pentium] instruction, light can only move about 4 inches. A tenfold increase in CPU speed would mean that light wouldn't have time to cross the piece of silicon! No wonder there are difficulties in designing these little critters!” - Paul Linton

“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

“Decisions in 10 minutes or less, or the next one is free.” - Brian Valentine, Microsoft, his team of 4,200 completed largest software project in history (Feb. 16, 2000)

“Endless Loop: n., see Loop, Endless. Loop, Endless: n., see Endless Loop.” - Random Shack Data Processing Dictionary

“Good software, like wine, takes time.” - Joel Spolsky, Good Software Takes Ten Years. Get Used To it.

“I maintain that programming cannot be done in less than three-hour windows. It takes three hours to spin up to speed, gather your concentration, shift into "right brain mode", and really focus on a problem. Effective programmers organize their day to have at least one three-hour window, and hopefully two or three. (This is why good programmers often work late at night. They don't get interrupted as much...)” - Ole Eichhorn,

“I think there is a world market for maybe five computers.” - Thomas Watson, Chairman of IBM, 1943

“It's often uncomfortable, but in the long run it makes more sense to deal with reality” - Michael Abrash

“Low-level programming is good for the programmer's soul.” - John Carmack

“Machines should work. People should think.” - IBM Pollyanna Principle

“Not having a schedule is OK if it's your PhD and you plan to spend 14 years on the thing, or if you're a programmer working on the next Duke Nukem and we'll ship when we're good and ready. But for almost any kind of real business, you just have to know how long things are going to take, because developing a product costs money.” - Joel Spolsky, &

“Program complexity grows until it exceeds the capabilities of the programmer who must maintain it.” - unknown

“Programming is not a zero-sum game. Teaching something to a fellow programmer doesn't take it away from you. I'm happy to share what I can, because I'm in it for the love of programming.” - John Carmack

“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.” - Richard Cook

“Programs must be written for people to read, and only incidentally for machines to execute.” - Abelson & Sussman, SICP, preface to the first edition (on Lisp)

“Something is usable if it behaves exactly as expected.” - Joel Spolsky, Usability in One Easy Step

“The computer world is like an intellectual Wild West, in which you can shoot anyone you wish with your ideas, if you're willing to risk the consequences” - Paul Graham, Hackers & Painters: Big Ideas from the Computer Age

“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

“The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.” - John Carmack

“The power efficiency of computing has improved by a factor of a billion from the ENIAC computer of the 1950s to today's handheld devices. Fundamental physics indicates that it should be possible to compute even another billion times more efficiently. That would put the power of all of today's present computers in the palm of your hand. That says to me that the age of computing really hasn't even begun yet.” - R. Stanley Williams, HP Fellow & director of Hewlett-Packard Co.'s Quantum Science Research Labs

“There's always one more bug.” - unknown

“We just have to come in every morning and somehow, launch the editor.” - Joel Spolsky, Fire and Motion

“What is a decision? It's a tool to remove confusion! Are you confused? If so, then make the decision and let's move on!” - Brian Valentine, Microsoft, his team of 4,200 completed largest software project in history (Feb. 16, 2000)

“Writing code is not production, it's not always craftsmanship (though it can be), it's design.” - Joel Spolsky, Craftsmanship



About the Author: I am Matthew Doucette of Xona Games, an award-winning indie game studio that I founded with my twin brother. We make intensified arcade-style retro games. Our business, our games, our technology, and we as competitive gamers have won prestigious awards and received worldwide press. Our business has won $180,000 in contests. Our games have ranked from #1 in Canada to #1 in Japan, have become #1 best sellers in multiple countries, have won game contests, and have held 3 of the top 5 rated spots in Japan of all Xbox LIVE indie games. Our game engines have been awarded for technical excellence. And we, the developers, have placed #1 in competitive gaming competitions -- relating to the games we make. Read about our story, our awards, our games, and view our blog.