Programming Quotes *UNIX is simple. But It just needs a genius to understand its simplicity. --Dennis Ritchie Good judgment comes from experience, and experience comes from bad judgement. --Fred Brooks Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why it works. Programmers combine theory and practice: Nothing works and they don't know why. It's hard enough to find an error in your code when you're looking for it; it's even harder when you've assumed your code is error-free. -Steve McConnell Code Complete If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. -Gerald Weinberg The Six Phases of a Project: Enthusiasm Disillusionment Panic Search for the Guilty Punishment of the Innocent Praise for non-participants 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. --Steve McConnell Code Complete The trouble with the world is that the stupid are cocksure and the intelligent are full of doubt. --Bertrand Russell No matter how slick(efficient) 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. One of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs. --Robert Firth Fifty years of programming language research, and we end up with C++? --Richard A. O'Keefe C programmers never die. They are just cast into void. If debugging is the process of removing bugs, then programming must be the process of putting them in. --Edsger Dijkstra You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time. --(Bertrand Meyer) There are two ways to write error-free programs; only the third works. --Alan J. Perlis Measuring programming progress by lines of code is like measuring aircraft building progress by weight. --Bill Gates Before software can be reusable, it first has to be usable. --Ralph Johnson 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. --Tom Cargill Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning. --Anon As soon as we started programming, we found 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 discovers debugging, 1949 I did say something along the lines of "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows your whole leg off." --Bjarne Stroustrup It has been said that the great scientific disciplines are examples of giants standing on the shoulders of other giants. It has also been said that the software industry is an example of midgets standing on the toes of other midgets. --Alan Cooper About Face Computers are useless. They can only give you answers. --Pablo Picasso If the code and the comments disagree, then both are probably wrong. --attributed to Norm Schryer Even if you're on the right track, you'll get run over if you just sit there. --Will Rogers 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, Jr. As we said in the preface to the first edition, C "wears well as one's experience with it grows." With a decade more experience, we still feel that way. --Brian Kernighan and Dennis Ritchie Simplicity is prerequisite for reliability --Edsger W.Dijkstra I've finally learned what "upward compatible" means. It means we get to keep all our old mistakes. --Dennie van Tassel (P.S: just like revision changes for hardware or new version release for software) Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet. --M.A. Jackson 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 Every program has (at least) two purposes: the one for which it was written, and another for which it wasn't. --Alan J. Perlis Technology is dominated by two types of people: Those who understand what they do not manage. Those who manage what they do not understand. --Putt's Law Copy and paste is a design error --David Parnas Any code of your own that you haven't looked at for six or more months might as well have been written by someone else. --Eagleson's law The primary duty of an exception handler is to get the error out of the lap of the programmer and into the surprised face of the user. Provided you keep this cardinal rule in mind, you can't go far wrong. --Verity Stob*