Object-oriented programming is an exceptionally bad idea which could only have originated in California. Edsger Dijkstra More Quotes by Edsger Dijkstra More Quotes From Edsger Dijkstra If debugging is the process of removing software bugs, then programming must be the process of putting them in. Edsger Dijkstra debugging bugs funny The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise. Edsger Dijkstra simplicity design purpose Simplicity and elegance are unpopular because they require hard work and discipline to achieve and education to be appreciated. Edsger Dijkstra simplicity discipline hard-work Program testing can be used to show the presence of bugs, but never to show their absence! Edsger Dijkstra program bugs absence Computer science is no more about computers than astronomy is about telescopes. Edsger Dijkstra telescopes technology science Are you quite sure that all those bells and whistles, all those wonderful facilities of your so called powerful programming languages, belong to the solution set rather than the problem set? Edsger Dijkstra code-quality bells powerful Don't compete with me: firstly, I have more experience, and secondly, I have chosen the weapons. Edsger Dijkstra chosen competition weapons In the good old days physicists repeated each other's experiments, just to be sure. Today they stick to FORTRAN, so that they can share each other's programs, bugs included. Edsger Dijkstra bugs sticks today Much of the excitement we get out of our work is that we don't really know what we are doing. Edsger Dijkstra excitement knows We must be very careful when we give advice to younger people; sometimes they follow it! Edsger Dijkstra advice giving people Raise your quality standards as high as you can live with, avoid wasting your time on routine problems, and always try to work as closely as possible at the boundary of your abilities. Do this, because it is the only way of discovering how that boundary should be moved forward. Edsger Dijkstra routine quality trying Too few people recognize that the high technology so celebrated today is essentially a mathematical technology. Edsger Dijkstra technology today people Teaching COBOL ought to be regarded as a criminal act. Edsger Dijkstra cobol criminals teaching Programming is one of the most difficult branches of applied mathematics; the poorer mathematicians had better remain pure mathematicians. Edsger Dijkstra programming mathematics branches Perfecting oneself is as much unlearning as it is learning. Edsger Dijkstra oneself If in physics there's something you don't understand, you can always hide behind the uncharted depths of nature. You can always blame God. You didn't make it so complex yourself. But if your program doesn't work, there is no one to hide behind. You cannot hide behind an obstinate nature. If it doesn't work, you've messed up. Edsger Dijkstra behind-you blame depth Simplicity is prerequisite for reliability. Edsger Dijkstra simplicity inspiring inspirational Elegance is not a dispensable luxury but a factor that decides between success and failure. Edsger Dijkstra luxury elegance congratulations The question of whether computers can think is like the question of whether submarines can swim. Edsger Dijkstra technology swim thinking If you want more effective programmers, you will discover that they should not waste their time debugging, they should not introduce the bugs to start with. Edsger Dijkstra debugging waste want