We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. - C. A. R. Hoare Walking on water and developing software from a specification are easy if both are frozen. - Edward V Berard It always takes longer than you expect, even when you take into account Hofstadter's Law. - Hofstadter's Law Some people, when confronted with a problem, think 'I know, I'll use regular expressions.' Now they have two problems. - Jamie Zawinski 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 Measuring programming progress by lines of code is like measuring aircraft building progress by weight. - Bill Gates 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 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 Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. - Rick Osborne 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 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 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 If debugging is the process of removing software bugs, then programming must be the process of putting them in. - E. W. Dijkstra 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 In theory, theory and practice are the same. In practice, they're not. - Yoggi Berra Two things are infinite: the universe and human stupidity; and I'm not sure about the universe. - Albert Einstein Perl – The only language that looks the same before and after RSA encryption. - Keith Bostic I love deadlines. I like the whooshing sound they make as they fly by. - Douglas Adams XML is like violence – if it doesn't solve your problems, you are not using enough of it. - Unknown 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 Simplicity, carried to the extreme, becomes elegance. – Jon Franklin Works on my machine. – Unknown Make everything as simple as possible, but not simpler. – Albert Einstein The difference between theory and practice is that in theory, there is no difference between theory and practice. – Richard Moore What we have to learn to do, we learn by doing. – Aristotle Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard It's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it. – Steve McConnell A clever person solves a problem. A wise person avoids it. – Albert Einstein Commenting your code is like cleaning your bathroom - you never want to do it, but it really does create a more pleasant experience for you and your guests. – Ryan Campbell You can't wait for inspiration. You have to go after it with a club. - Chankey Pathak A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away. - Antoine de Saint-Exupéry Debuggers don't remove bugs. They only show them in slow motion. - Chankey Pathak There are only two kinds of programming languages: those people always bitch about and those nobody uses. - Bjarne Stroustrup Programming is like sex: one mistake and you're providing support for a lifetime. - Michael Sinz Computer science is no more about computers than astronomy is about telescopes. - Edsger Dijkstra 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 Cargil Computers are dumb. Programmers are just people who are smart enough to trick them into doing something that resembles what they want. - Nic When your hammer is C++, everything begins to look like a thumb. - Steven M. Haflich Beware of bugs in the above code; I have only proved it correct, not tried it. - Donald Knuth This should SO work!... Error... *sigh* - Unknown This code is too short to have a bug. - Douglas Brotz Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration. - Stan Kelly-Bootle You should name a variable using the same care with which you name a first-born child. - James O. Coplien 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. The first method is far more difficult. - Tony Hoare A programmer is a device that converts caffeine into error messages. - Paul Erdos Features, quality, time: pick two. - Unknown 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 I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself 'Dijkstra would not have liked this', well, that would be enough immortality for me. – E. Dijkstra We know about as much about software quality problems as they knew about the Black Plague in the 1600s. We've seen the victims' agonies and helped burn the corpses. We don't know what causes it; we don't really know if there is only one disease. We just suffer - and keep pouring our sewage into our water supply. - Tom Van Vleck In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg. – Bjarne Stoustrup. All problems in computer science can be solved by another level of indirection... except for the problem of too many layers of indirection. – David Wheeler & Kevlin Henney Version 1 of any software is full of bugs. Version 2 fixes all the bugs and is great. Version 3 adds all the things users ask for, but hides all the great stuff in Version 2. – Fred Blechman Beta software undergoes beta testing shortly before it's released. Beta is Latin for 'still doesn't work'. – Unknown If it aint broke then it don't have enough features yet. - Unknown [Your favorite programming language]... is somewhat like teenage sex, everybody is talking about it, most are not doing it and those that are doing it, are doing it wrong. - Jota Those who don't understand UNIX are condemned to reinvent it, poorly. – Henry Spencer If the designers of X-Windows built cars, there would be no fewer than five steering wheels hidden about the cockpit, none of which followed the same principles - but you'd be able to shift gears with your car stereo. Useful feature, that. – Marcus J. Ranum, Digital Equipment Corporation I've done some of my best programming when drunk... and some of my best debugging the next day. - Keith Kornfeld, at Graphic Scanning Corp., 1979 Programming is a job where Lovecraft meets Tradecraft, all the time. – Ken MacLeod If you have any trouble sounding condescending, find a Unix user to show you how it's done. – Scott Adams Sure, it's easy to achieve partial obfuscation through pure stupidity, but for complete, systematic retardation, you need hard working great thinkers that put their best effort into it. – Fredrik Johansson, on Windows NT These modern kids don't know the simple joy of saving four bytes of page-0 memory on a 6502 box. – isomeme The tao is in all programming languages, but try to avoid using COBOL. – Nicholas M. Moffitt One of the main reasons for the downfall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs. – Robert Firth One man's constant is another man's variable. - Epigrams in Programming If a listener nods his head when you're explaining your program, wake him up. - Epigrams in Programming To understand a program you must become both the machine and the program. - Epigrams in Programming 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. - Kernighan I saw 'cout' being shifted 'Hello world" times to the left and stopped right there. - Steve Gonedes The best thing about a boolean is even if you are wrong, you are only off by a bit. - Anonymous Without requirements or design, programming is the art of adding bugs to an empty text file. - Louis Srygley It's not a bug – it's an undocumented feature. - Anonymous One man's crappy software is another man's full time job. - Jessica Gaston A good programmer is someone who always looks both ways before crossing a one-way street. - Doug Linder It's a curious thing about our industry: not only do we not learn from our mistakes, we also don't learn from our successes. - Keith Braithwaite In order to understand recursion, one must first understand recursion. - Anonymous The best performance improvement is the transition from the nonworking state to the working state. - J. Osterhout The trouble with programmers is that you can never tell what a programmer is doing until it's too late. - Seymour Cray Don't worry if it doesn't work right. If everything did, you'd be out of a job. - Mosher's Law of Software Engineering If you want to set off and go develop some grand new thing, you don't need millions of dollars of capitalization. You need enough pizza and Diet Coke to stick in your refrigerator, a cheap PC to work on and the dedication to go through with it. - John Carmack People think that computer science is the art of geniuses but the actual reality is the opposite, just many people doing things that build on each other, like a wall of mini stones. - Donald Knuth I don't care if it works on your machine! We are not shipping your machine! - Vidiu Platon. 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 You can’t have great software without a great team, and most software teams behave like dysfunctional families. - Jim McCarthy C is quirky, flawed, and an enormous success. - Dennis M. Ritchie. Talk is cheap. Show me the code. - Linus Torvalds In the one and only true way. The object-oriented version of 'Spaghetti code' is, of course, 'Lasagna code'. (Too many layers). - Roberto Waltman. Considering the current sad state of our computer programs, software development is clearly still a black art, and cannot yet be called an engineering discipline. - Bill Clinton A C program is like a fast dance on a newly waxed dance floor by people carrying razors. - Waldi Ravens. Linux is only free if your time has no value. - Jamie ZawinskiA Copy and paste is a design error. - David Parnas Before software can be reusable it first has to be usable. - Ralph Johnson I'm taking a break from programming and trying to escape the world of geekness and then WinAmp brings up 'Norah Jones - Pointer Song' GODAMN IT LEAVE ME ALONE. - billy_s Two languages implementing the same idea must, on pain of death, use different terms. - Feldman's Law of Programming Terminology ...In fact, never ever use gets() or sprintf(), period. If you do we will send evil dwarfs after you. - FreeBSD Secure Programming Guidelines. The combination of threads, remote-procedure-call interfaces, and heavyweight object-oriented design is especially dangerous... if you are ever invited onto a project that is supposed to feature all three, fleeing in terror might well be an appropriate reaction. - Eric Raymond, "The Art of Unix Programming". Don't worry, we have plenty of time to get the Nuclear Missile Launch program Y2K compliant, besides, I always code better after a few drinks. - Unknown Life would be so much easier if we only had the source code. - Unknown Who is this 'General Failure' and why is he reading my disk? - Unknown It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter. - Nathaniel Borenstein. That's the thing about people who think they hate computers. What they really hate is lousy programmers. - Larry Niven. The only problem with troubleshooting is that sometimes trouble shoots back. - Unknown It's a little-known fact that the Y1K problem caused the Dark Ages. - Unknown As an ultimate incentive to solve the millennium bug computer problem, China has ordered its airline executives to take a flight on January 1, 2000. - The Financial Times. C++ : Where friends have access to your private members. - Gavin Russell Baker. 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. Confucius say: He who play in root, eventually kill tree. - Confucius The original Unix solved a problem and solved it well, as did the Roman numeral system, the mercury treatment for syphilis, and carbon paper. - Unknown If I've got a simple task to do (eg the text-file-of-URLS example) then I knock it up in shell script. By the time that simple task has feature-creeped up to more than 20 lines I start to wish I'd written it in Perl. So I rewrite. By the time that Perl script has crept up to more than 200 lines I start to wish it was written in Python. So I rewrite. By the time that Python script has crept up to 2000 lines I start to wish I'd farmed the job out to a team of programmers, and I give up caring what language its written in and make them do it as a web service. Then I write a small shell script to call their web service. When that shell script has feature-creeped up to more than 20 lines... - Bazman. Q: When do I need xml? A: When I need a new buzz word for my resume. - From the W3 XML page. Hardware /nm./: the part of the computer that you can kick. - Unknown 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. - C.A.R. Hoare, The 1980 ACM Turing Award Lecture The computing scientist’s main challenge is not to get confused by the complexities of his own making. - E. W. Dijkstra The cheapest, fastest, and most reliable components are those that aren’t there. - Gordon Bell One of my most productive days was throwing away 1000 lines of code. - Ken Thompson When in doubt, use brute force. - Ken Thompson Deleted code is debugged code. - Jeff Sickel 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 and P. J. Plauger in The Elements of Programming Style. The most effective debugging tool is still careful thought, coupled with judiciously placed print statements. - Brian W. Kernighan, in the paper Unix for Beginners (1979) Controlling complexity is the essence of computer programming. - Brian Kernighan Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defence against complexity. - David Gelernter UNIX was not designed to stop its users from doing stupid things, as that would also stop them from doing clever things. - Doug Gwyn If you’re willing to restrict the flexibility of your approach, you can almost always do something better. - John Carmack And folks, let’s be honest. Sturgeon was an optimist. Way more than 90% of code is crap. - viro A data structure is just a stupid programming language. - R. Wm. Gosper The essence of XML is this: the problem it solves is not hard, and it does not solve the problem well. - Phil Wadler, POPL 2003 A program that produces incorrect results twice as fast is infinitely slower. - John Osterhout Life is too short to run proprietary software. - Bdale Garbee I had a nightmare once in which I a had convinced a friend how wonderful C++ is. A while later he came back., and he was mad.[sic] - Robin Rosenberg XML is like violence: if it doesn’t solve your problem, you aren’t using enough of it. - Heard from someone working at Microsoft XML is like violence. Sure, it seems like a quick and easy solution at first, but then it spirals out of control into utter chaos. - Sarkos in reddit Threads [and] signals [are] a platform-dependant trail of misery, despair, horror and madness. - Anthony Baxter Computers are about making life easier in much the same way that the Republican party is about fiscal responsibility and a culture of life. - mister_borogove All software sucks, be it open-source [or] proprietary. The only question is what can be done with particular instance of suckage, and that’s where having the source matters. - viro Mathematicians stand on each others' shoulders and computer scientists stand on each others' toes. - Richard Hamming It’s not that Perl programmers are idiots, it’s that the language rewards idiotic behavior in a way that no other language or tool has ever done. - Erik Naggum, comp.lang.lisp Out-of-band == should be on a separate channel... - Al Viro It’s a curious thing about our industry: not only do we not learn from our mistakes, we also don’t learn from our successes. - Keith Braithwaite Ethernet always wins. - Andy Bechtolsheim The central enemy of reliability is complexity. - Geer et al. Simplicity is prerequisite for reliability. - Edsger W. Dijkstra Beware of "the real world". A speaker’s apeal to it is always an invitation not to challenge his tacit assumptions. - Edsger W. Dijkstra Unix is a junk OS designed by a committee of PhDs. - Dave Cutler i’ve wondered whether Linux sysfs should be called syphilis - forsyth A program is portable to the extent that it can be easily moved to a new computing environment with much less effort than would be required to write it afresh. - W. Stan Brown Programming graphics in X is like finding the square root of PI using Roman numerals. - Henry Spencer Forward thinking was just the thing that made Multics what it is today. - Erik Quanstrom You want to make your way in the CS field? Simple. Calculate rough time of amnesia (hell, 10 years is plenty, probably 10 months is plenty), go to the dusty archives, dig out something fun, and go for it. It’s worked for many people, and it can work for you. - Ron Minnich Ehh.. Telling people "don't do that" simply doesn't work. Not if they can do it easily anyway. Things really don't get fixed unless people have a certain pain-level to induce it to get fixed. - Linus Torvalds A Professor of Computer Science gave a paper on how he uses Linux to teach his undergraduates about operating systems. Someone in the audience asked why use Linux rather than Plan 9?' and the professor answered:Plan 9 looks like it was written by experts; Linux looks like something my students could aspire to write'. - unknown If you’re capable of understanding `finalised virtual hyperstationary factory class', remembering the Java class hierarchy, and all the details of the Java Media Framework, you are (a) a better man than i am (b) capable of filling your mind with large chunks of complexity, so concurrent programming should be simple by comparison. Go for it. ps. i made up the hyperstationary, but then again, it’s probably a design pattern. - forsyth At first I hoped that such a technically unsound project would collapse but I soon realized it was doomed to success. Almost anything in software can be implemented, sold, and even used given enough determination. There is nothing a mere scientist can say that will stand against the flood of a hundred million dollars. But there is one quality that cannot be purchased in this way -and that is reliability. The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich find most hard to pay. - C.A.R. Hoare I remarked to Dennis [Ritchie] that easily half the code I was writing in Multics was error recovery code. He said, "We left all that stuff out [of Unix]. If there’s an error, we have this routine called panic, and when it is called, the machine crashes, and you holler down the hall, ‘Hey, reboot it.’" - Tom Van Vleck Unix is simple. It just takes a genius to understand its simplicity. - Dennis Ritchie Most xml i’ve seen makes me think i’m dyslexic. it also looks constipated, and two health problems in one standard is just too much. - Charles Forsyth OAuth is the best that the wrong way of doing things can provide. - Mike Stay This ‘users are idiots, and are confused by functionality’ mentality of Gnome is a disease. If you think your users are idiots, only idiots will use it. - Linus The key to performance is elegance, not battalions of special cases. - Jon Bentley and Doug McIlroy Just because the standard provides a cliff in front of you, you are not necessarily required to jump off it. - Norman Diamond 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 W. Dijkstra The object-oriented model makes it easy to build up programs by accretion. What this often means, in practice, is that it provides a structured way to write spaghetti code. - Paul Graham First, solve the problem. Then, write the code. - John Johnson 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 Correctness is clearly the prime quality. If a system does not do what it is supposed to do, then everything else about it matters little. - Bertrand Meyer Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges and it causes end-user and administrator frustration. - Ray Ozzie If the designers of X Windows built cars, there would be no fewer than five steering wheels hidden about the cockpit, none of which followed the same principles – but you’d be able to shift gears with your car stereo. Useful feature that. - Marcus J. Ranum, DEC A language that doesn’t have everything is actually easier to program in than some that do. - Dennis M. Ritchie Mostly, when you see programmers, they aren’t doing anything. One of the attractive things about programmers is that you cannot tell whether or not they are working simply by looking at them. Very often they’re sitting there seemingly drinking coffee and gossiping, or just staring into space. What the programmer is trying to do is get a handle on all the individual and unrelated ideas that are scampering around in his head. - Charles M. Strauss Haskell is faster than C++, more concise than Perl, more regular than Python, more flexible than Ruby, more typeful than C#, more robust than Java, and has absolutely nothing in common with PHP. - Autrijus Tang You can’t trust code that you did not totally create yourself. - Ken Thompson Object-oriented design is the roman numerals of computing. - Rob Pike Not only is UNIX dead, it’s starting to smell really bad. - Rob Pike circa 1991 We have persistant(sic) objects, they’re called files. - Ken Thompson If you want to go somewhere, goto is the best way to get there. - ken The X server has to be the biggest program I’ve ever seen that doesn’t do anything for you. - Ken Thompson A smart terminal is not a smartass terminal, but rather a terminal you can educate. - Rob Pike Simplicity is the ultimate sophistication. - Leonardo da Vinci Increasingly, people seem to misinterpret complexity as sophistication, which is baffling—-the incomprehensible should cause suspicion rather than admiration. Possibly this trend results from a mistaken belief that using a somewhat mysterious device confers an aura of power on the user. - Niklaus Wirth Compatibility means deliberately repeating other people’s mistakes. - David Wheeler Every methodology I’ve come across has, at its kernel, a very small section labelled "do magic here". - Katie I recommend the linux people to call it "GNU / Linux" instead of "GNU/Linux". never hurts to distance yourself from GNU. - mjl on #plan9-social Trying to express implicit and fuzzy relationships in ways that are explicit and sharp doesn’t clarify the meaning, it destroys it. - Clay Shirky Unix has retarded OS research by 10 years and linux has retarded it by 20. - Dennis Ritchie as quoted by by Boyd Roberts in 9fans. Any program that tries to be so generalized and configurable that it could handle any kind of task will either fall short of this goal, or will be horribly broken. - Chris Wenham Nobody who uses XML knows what they are doing. - Chris Wenham Debugging time increases as a square of the program’s size. - Chris Wenham I guess it’s like smart compiler for dumb people, and dumb compiler for smart people. But then smart compiler gets too smart.. so neither dumb nor smart people can understand it. - fgb on compilers and gcc Comparing a computer language to a human language is like comparing an operating system kernel to a popcorn kernel. - kryptkpr Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law. - Hofstadter My definition of an expert in any field is a person who knows enough about what’s really going on to be scared. - P. J. Plauger, Computer Language, March 1983 Every language has an optimization operator. In C++ that operator is ‘//’ - unknown Nobody should start to undertake a large project. You start with a small trivial project, and you should never expect it to get large. If you do, you’ll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision. So start small, and think about the details. Don’t think about some big picture and fancy design. If it doesn’t solve some fairly immediate need, it’s almost certainly over-designed. And don’t expect people to jump in and help you. That’s not how these things work. You need to get something half-way useful first, and then others will say "hey, that almost works for me", and they’ll get involved in the project. - Linus Torvalds 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. - unknown A computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are, in short, a perfect match. - unknown Q: What is the most often-overlooked risk in software engineering? A: Incompetent programmers. There are estimates that the number of programmers needed in the U.S. exceeds 200,000. This is entirely misleading. It is not a quantity problem; we have a quality problem. One bad programmer can easily create two new jobs a year. Hiring more bad programmers will just increase our perceived need for them. If we had more good programmers, and could easily identify them, we would need fewer, not more. - David Parnas The best code is no code at all. - unknown Before software can be reusable it first has to be usable. - unknown Old programs read like quiet conversations between a well-spoken research worker and a well-studied mechanical colleague, not as a debate with a compiler. Who’d have guessed sophistication bought such noise? - Dick Gabriel This is one of the reasons Lisp doesn’t get anywhere. The trend to promote features so clever that you stop thinking about your problem and start thinking about the clever features. CL’s loop is so powerful that people invented functional programming so that they’d never have to use it. - G_Morgan in reddit More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason – including blind stupidity. - William A. Wulf There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code. - unknown Program testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence. - Edsger W. Dijkstra The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague. - Edsger W. Dijkstra Parkinson’s Law Otherwise known as the law of bureaucracy, this law states that "Work expands so as to fill the time available for its completion." - unknown Code never lies, comments sometimes do. - Ron Jeffries What I cannot build, I do not understand. - Richard Feynman If we’d asked the customers what they wanted, they would have said "faster horses". - Henry Ford I (...) am rarely happier than when spending an entire day programming my computer to perform automatically a task that would otherwise take me a good ten seconds to do by hand. - Douglas Adams, Last Chance to See 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. The Ferraris are just gravy, honest! - John Carmack, from Michael Abrash' Graphics Programming Black Book. I have found that the reason a lot of people are interested in artificial intelligence is the same reason a lot of people are interested in artificial limbs: they are missing one. - David Parnas Once you’ve dressed and before you leave the house, look in the mirror and take at least one thing off. - Coco Chanel When I am working on a problem I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong. - R. Buckminster Fuller I have always found that plans are useless, but planning is indispensable. - Dwight D. Eisenhower I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships. - Linus Torvalds Software is like entropy. It is difficult to grasp, weighs nothing, and obeys the second law of thermodynamics; i.e. it always increases. - unknown A fool with a tool is a more dangerous fool. - u. The best things are simple, but finding these simple things is not simple. - bill Some problems are so complex that you have to be highly intelligent and well informed just to be undecided about them. - Laurence J. Peter 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 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. - unknown Once a new technology starts rolling, if you’re not part of the steamroller, you’re part of the road. - Stewart Brand 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 ... 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 With diligence it is possible to make anything run slowly. - Tom Duff Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage — to move in the opposite direction. - Albert Einstein For a sucessful technology, honesty must take precedence over public relations for nature cannot be fooled. - Richard Feynman Comparing to another activity is useful if it helps you formulate questions, it’s dangerous when you use it to justify answers. - Martin Fowler Simplicity carried to the extreme becomes elegance. - Jon Franklin Software obeys the law of gaseous expansion – it continues to grow until memory is completely filled. - Larry Gleason The unavoidable price of reliability is simplicity. - C.A.R. Hoare Trying to outsmart a compiler defeats much of the purpose of using one. - Kernighan and Plauger, The Elements of Programming Style. You’re bound to be unhappy if you optimize everything. - Donald Knuth A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable. - Leslie Lamport But in our enthusiasm, we could not resist a radical overhaul of the system, in which all of its major weaknesses have been exposed, analyzed, and replaced with new weaknesses. - Bruce Leverett, Register Allocation in Optimizing Compilers The proper use of comments is to compensate for our failure to express ourself in code. - Robert C. Martin / Clean Code If you want a product with certain characteristics, you must ensure that the team has those characteristics before the product’s development. - Jim McCarthy and Michele McCarthy – Software for your Head You can’t have great software without a great team, and most software teams behave like dysfunctional families. - Jim McCarthy Testing by itself does not improve software quality. Test results are an indicator of quality, but in and of themselves, they don’t improve it. Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often. What you eat before you step onto the scale determines how much you will weigh, and the software development techniques you use determine how many errors testing will find. If you want to lose weight, don’t buy a new scale; change your diet. If you want to improve your software, don’t test more; develop better. - Steve McConnell Code Complete Correctness is clearly the prime quality. If a system does not do what it is supposed to do, then everything else about it matters little. - Bertrand Meyer Incorrect documentation is often worse than no documentation. - Bertrand Meyer Software sucks because users demand it to. - Nathan Myhrvold There’s no sense being exact about something if you don’t even know what you’re talking about. - John von Neumann That’s the thing about people who think they hate computers. What they really hate is lousy programmers. - Larry Niven and Jerry Pournelle Oath of Fealty Search all the parks in all your cities; you’ll find no statues of committees. - David Ogilvy Good code is short, simple, and symmetrical – the challenge is figuring out how to get there. - Sean Parent It is a painful thing to look at your own trouble and know that you yourself and no one else has made it. - Sophocles, Ajax 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 A notation is important for what it leaves out. - Joseph Stoy An organisation that treats its programmers as morons will soon have programmers that are willing and able to act like morons only. - Bjarne Stroustrup I have always wished that my computer would be as easy to use as my telephone. My wish has come true. I no longer know how to use my telephone. - Bjarne Stroustrup The most important single aspect of software development is to be clear about what you are trying to build. - Bjarne Stroustrup The best is the enemy of the good. - Voltaire 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 Software gets slower faster than hardware gets faster. - Wirth’s law The purpose of software engineering is to control complexity, not to create it. - Dr. Pamela Zave I object to doing things that computers can do. - Olin Shivers Simplicity — the art of maximizing the amount of work not done — is essential. - From the Agile Manifesto. When you want to do something differently from the rest of the world, it’s a good idea to look into whether the rest of the world knows something you don’t. - unknown Complexity has nothing to do with intelligence, simplicity does. - Larry Bossidy If it doesn’t work, it doesn’t matter how fast it doesn’t work. - Mich Ravera Simplicity is hard to build, easy to use, and hard to charge for. Complexity is easy to build, hard to use, and easy to charge for. - Chris Sacca ... what society overwhelmingly asks for is snake oil. Of course, the snake oil has the most impressive names — otherwise you would be selling nothing — like "Structured Analysis and Design", "Software Engineering", "Maturity Models", "Management Information Systems", "Integrated Project Support Environments" "Object Orientation" and "Business Process Re-engineering" (the latter three being known as IPSE, OO and BPR, respectively). - Edsger W. Dijkstra — EWD 1175: The strengths of the academic enterprise [Today we could add ‘Extreme Programming’, ‘Agile Software Development’ and many more.] They won’t tell you that they don’t understand it; they will happily invent their way through the gaps and obscurities. - V.A. Vyssotsky on software programmers and their views on specifications In software, the most beautiful code, the most beautiful functions, and the most beautiful programs are sometimes not there at all. - Jon Bentley, Beautiful Code (O'Reilly), "The Most Beautiful Code I Never Wrote" Computers make it easier to do a lot of things, but most of the things they make it easier to do don’t need to be done. - Andy Rooney True glory consists in doing what deserves to be written; in writing what deserves to be read. - Pliny the Elder The whole point of getting things done is knowing what to leave undone. - Oswald Chambers The whole HTML validation exercise is questionable, but validating as XHTML is flat-out masochism. Only recommended for those that enjoy pain. Or programmers. I can’t always tell the difference. - Jeff Atwood When in doubt, leave it out. - Joshua Bloch No code is faster than no code. - merb motto As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications. - Dave Parnas OOP is to writing a program, what going through airport security is to flying. - Richard Mansfield The problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle. - Joe Armstrong As a programmer, it is your job to put yourself out of business. What you do today can be automated tomorrow. - Doug McIlroy IDE features are language smells. - Reg Braithwaite PHP is [the] Sarah Palin of programming languages. - killerstorm A good way to have good ideas is by being unoriginal. - Bram Cohen The comment about developers making work for themselves is also spot on. I answer a lot of programming questions, and the questions are always asked because the programmer has reached the end of a twisty maze of his own creation. Turn around, walk, spin around, and try again. You’ll find a better solution. - Jonathan Rockway in a Hacker News comment The trick is to fix the problem you have, rather than the problem you want. - Bram Cohen Security is a state of mind. - NSA Security Manual Never attribute to funny hardware that which can be adequately explained by broken locking. - Erik Quanstrom Things which any idiot could write usually have the quality of having been written by an idiot. - Bram Cohen In programming the hard part isn’t solving problems, but deciding what problems to solve. - Paul Graham [POSIX] unifying unix? more like formalizing historical design mistakes made by major vendors... - ttyv0 Do I really want to be using a language where memoize is a PhD-level topic? - Mark Engelberg about Haskell If you start programming by learning perl you will just become a menace to yourself and others. - egoncasteel When there is no type hierarchy you don’t have to manage the type hierarchy. - Rob Pike Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. - RnRS Software efficiency halves every 18 months, compensating Moore’s Law. - May’s Law So-called "smart" software usually is the worst you can imagine. - Christian Neukirchen Such is modern computing: everything simple is made too complicated because it’s easy to fiddle with; everything complicated stays complicated because it’s hard to fix. - Rob Pike It is not that uncommon for the cost of an abstraction to outweigh the benefit it delivers. Kill one today! - John Carmack So much complexity in software comes from trying to make one thing do two things. - Ryan Singer The standard rule is, when you’re in a hole, stop digging; that seems not to apply [to] software nowadays. - Ron Minnich Languages that try to disallow idiocy become themselves idiotic. - Rob Pike There’s nothing in computing that can’t be broken by another level of indirection. - Rob Pike A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. - John Gall "design patterns" are concepts used by people who can’t learn by any method except memorization, so in place of actual programming ability, they memorize "patterns" and throw each one in sequence at a problem until it works - Dark_Shikari One of the big lessons of a big project is you don’t want people that aren’t really programmers programming, you’ll suffer for it! - John Carmack Premature optimization, that’s like a sneeze. Premature abstraction is like ebola; it makes my eyes bleed. - Christer Ericson Premature optimizations can be troublesome to revert, but premature generalizations are often near impossible. - Emil Persson Premature optimization, that’s like a fart. Premature abstraction is like taking a dump on another developer’s desk. - Chris Eric Normal people believe that if it ain’t broke, don’t fix it. Engineers believe that if it ain’t broke, it doesn’t have enough features yet. - Scott Adams If you give someone a program, you will frustrate them for a day; if you teach them how to program, you will frustrate them for a lifetime. - David Leinweber (NOWS) And don’t EVER make the mistake that you can design something better than what you get from ruthless massively parallel trial-and-error with a feedback cycle. That’s giving your intelligence much too much credit. - Linus