The following is a list of various quotes I've collected that have made me laugh or think, or some combination of the two. I cannot guarantee the veracity of the attributions.
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
– Antoine de Saint-ExupéryThere 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 LectureThe computing scientist's main challenge is not to get confused by the complexities of his own making.
– Edsger W. DijkstraThe cheapest, fastest, and most reliable components are those that aren't there.
– Gordon BellOne of my most productive days was throwing away 1000 lines of code.
– Ken ThompsonWhen in doubt, use brute force.
– Ken ThompsonDeleted code is debugged code.
– Jeff SickelDebugging 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 StyleControlling complexity is the essence of computer programming.
– Brian KernighanBeauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defence against complexity.
– David GelernterUNIX was not designed to stop its users from doing stupid things, as that would also stop them from doing clever things.
– Doug GwynIf you're willing to restrict the flexibility of your approach, you can almost always do something better.
– John CarmackA data structure is just a stupid programming language.
– Bill GosperA program that produces incorrect results twice as fast is infinitely slower.
– John OsterhoutXML is like violence: if it doesn't solve your problem, you aren't using enough of it.
– Heard from someone working at MicrosoftXML 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, redditThreads [and] signals [are] a platform-dependant trail of misery, despair, horror and madness.
– Anthony Baxter, Python-dev mailing listMathematicians stand on each other's shoulders and computer scientists stand on each other's toes.
– Richard HammingOut-of-band == should be on a separate channel...
– Al ViroIt'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 BraithwaiteEthernet always wins.
– Andy BechtolsheimThe central enemy of reliability is complexity.
– Geer et alSimplicity is prerequisite for reliability.
– Edsger W. DijkstraBeware of 'the real world'. A speaker's appeal to it is always an invitation not to challenge his tacit assumptions.
– Edsger W. DijkstraA 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, Google group comp.std.cComplexity anchors your thinking. If you think you need a giant toolchain to produce a website, then you're going to only produce websites you can make with these giant toolchains.
– Maciej Cegłowski'What does tomorrow's Unix look like?' I'm confident that tomorrow's Unix will look like today's Unix, only cruftier.
– Russ CoxYou 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 MinnichI 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 VleckUnix is simple. It just takes a genius to understand its simplicity.
– Dennis RitchieThe key to performance is elegance, not battalions of special cases.
– Jon Bentley and Doug McIlroyJust because the standard provides a cliff in front of you, you are not necessarily required to jump off it.
– Norman DiamondAre 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. DijkstraMeasuring programming progress by lines of code is like measuring aircraft building progress by weight.
– Bill GatesFirst, solve the problem. Then, write the code.
– John JohnsonCorrectness 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 MeyerComplexity 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 OzzieA language that doesn't have everything is actually easier to program in than some that do.
– Dennis RitchieYou can’t trust code that you did not totally create yourself.
– Ken ThompsonNot only is UNIX dead, it's starting to smell really bad.
– Rob Pike ca. 1991We have persistant [sic] objects, they're called files.
– Ken ThompsonIf you want to go somewhere, goto is the best way to get there.
– Ken ThompsonSimplicity is the ultimate sophistication.
– Leonardo da VinciIncreasingly, 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 WirthCompatibility means deliberately repeating other people’s mistakes.
– David WheelerEvery methodology I've come across has, at its kernel, a very small section labeled 'do magic here.'
– katie@fysh.orgTrying to express implicit and fuzzy relationships in ways that are explicit and sharp doesn't clarify the meaning, it destroys it.
– Clay ShirkyAny 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 WenhamDebugging time increases as a square of the program’s size.
– Chris WenhamHofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
– Hofstadter's LawMy 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 1983Every language has an optimization operator. In C++ that operator is '//'
– AnonymousTheory 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.
– AnonymousA 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.
– AnonymousThe best code is no code at all.
– AnonymousBefore software can be reusable it first has to be usable.
– AnonymousThere 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.
– AnonymousProgram testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence.
– Edsger W. DijkstraCode never lies, comments sometimes do.
– Ron JeffriesWhat I cannot build, I do not understand.
– Richard FeynmanI (...) 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 SeeProgramming 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's Graphics Programming Black Book.I have always found that plans are useless, but planning is indispensable.
– Dwight D. EisenhowerSoftware is like entropy. It is difficult to grasp, weighs nothing, and obeys the second law of thermodynamics; i.e. it always increases.
– AnonymousThe best things are simple, but finding these simple things is not simple.
– bill, Stack OverflowSome problems are so complex that you have to be highly intelligent and well informed just to be undecided about them.
– Laurence J. PeterThe 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 PetroskiOnce a new technology starts rolling, if you're not part of the steamroller, you're part of the road.
– Stewart BrandEinstein 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 CarmackWith diligence it is possible to make anything run slowly.
– Tom DuffAny 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 EinsteinFor a successful technology, honesty must take precedence over public relations for nature cannot be fooled.
– Richard FeynmanComparing to another activity is useful if it helps you formulate questions, it's dangerous when you use it to justify answers.
– Martin FowlerSimplicity carried to the extreme becomes elegance.
– Jon FranklinSoftware obeys the law of gaseous expansion - it continues to grow until memory is completely filled.
– Larry GleasonThe unavoidable price of reliability is simplicity.
– C.A.R. HoareThe ability to simplify means to eliminate the unnecessary so that the necessary may speak.
– Hans HoffmanTrying to outsmart a compiler defeats much of the purpose of using one.
– Kernighan and Plauger, The Elements of Programming StyleYou're bound to be unhappy if you optimize everything.
– Donald KnuthA distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.
– Leslie LamportBut 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 CompilersIncorrect documentation is often worse than no documentation.
– Bertrand MeyerThe crazy vector space... which I can't remember because it's so crazy. It probably sells cars on the side.
– Dr. Donald Kreher, MTUThere's no sense being exact about something if you don't even know what you're talking about.
– John von NeumannThat's the thing about people who think they hate computers. What they really hate is lousy programmers.
– Larry Niven and Jerry Pournelle, Oath of FealtyGood code is short, simple, and symmetrical - the challenge is figuring out how to get there.
– Sean ParentForgive him, for he believes that the customs of his tribe are the laws of nature!
– George Bernard ShawThe 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 StobAn organisation that treats its programmers as morons will soon have programmers that are willing and able to act like morons only.
– Bjarne StroustrupI 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 StroustrupThe most important single aspect of software development is to be clear about what you are trying to build.
– Bjarne StroustrupSoftware gets slower faster than hardware gets faster.
– Wirth's LawThe purpose of software engineering is to control complexity, not to create it.
– Dr. Pamela ZaveI object to doing things that computers can do.
– Olin ShiversWhen 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.
– AnonymousPerilous to us all are the devices of an art deeper than that which we possess ourselves.
– J.R.R. TolkienIf it doesn't work, it doesn't matter how fast it doesn't work.
– Mich RaveraSimplicity 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 SaccaTrue glory consists in doing what deserves to be written; in writing what deserves to be read.
– Pliny the ElderThe whole point of getting things done is knowing what to leave undone.
– Oswald ChambersThe 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 AtwoodWhen in doubt, leave it out.
– Joshua BlochNo code is faster than no code.
– merb mottoThe 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 ArmstrongThe trick is to fix the problem you have, rather than the problem you want.
– Bram CohenThe number of swaps you make is either even or odd.
– Dr. Donald Kreher, MTU, on row reducing matricesSecurity is a state of mind.
– NSA Security ManualIn programming the hard part isn't solving problems, but deciding what problems to solve.
– Paul GrahamDo I really want to be using a language where memoize is a PhD-level topic?
– Mark Engelberg on HaskellPeople stop thinking and questioning [and] then its just worshiping some rules without any purpose.
– Cinap LenrekIf you start programming by learning Perl you will just become a menace to yourself and others.
– egoncasteelWhen there is no type hierarchy you don't have to manage the type hierarchy.
– Rob PikeProgramming 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.
– RnRSSoftware efficiency halves every 18 months, compensating Moore's Law.
– May's LawSuch 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 PikeIt is not that uncommon for the cost of an abstraction to outweigh the benefit it delivers. Kill one today!
– John CarmackSo much complexity in software comes from trying to make one thing do two things.
– Ryan SingerThere's nothing in computing that can't be broken by another level of indirection.
– Rob PikePremature optimizations can be troublesome to revert, but premature generalizations are often near impossible.
– Emil PerssonNormal 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 AdamsIf 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)Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats.
– H. AikenToday, most software exists, not to solve a problem, but to interface with other software.
– I. O. AngellRecurses! Called again.
– AnonymousWhy do we never have time to do it right, but always have time to do it over?
– AnonymousThe Analytical Engine weaves algebraical patterns just as the Jacquard loom weaves flowers and leaves.
– Augusta Ada King, Countess of Lovelace, on Babbage's Analytical EngineI don't believe in real numbers.
– Dr. Donald Kreher, MTUThe most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents.
– N. BorensteinAny sufficiently advanced technology is indistinguishable from magic.
– Arthur C. ClarkeComputer science is no more about computers than astronomy is about telescopes.
– Edsger W. DijkstraAny sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
– Greenspun's Tenth Rule...including Common Lisp.
– Robert Morris, corollary to Greenspun's Tenth RuleSimple things should be simple, complex things should be possible.
– Alan KayShould array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
– S. Kelly-BootleBeware of bugs in the above code; I have only proved it correct, not tried it.
– Donald KnuthIn mathematics you don't understand things. You just get used to them.
– John von NeumannThere is no reason anyone would want a computer in their home.
– K. Olsen, Founder and President, DEC, 1977A language that doesn't affect the way you think about programming is not worth knowing.
– A. PerlisComputers in the future may weigh no more than 1.5 tons.
– Popular Science, 1959Don't you hate code that's not properly indented? Making it part of the syntax guarantees that all code is properly indented.
– Guido van Rossum on PythonLisp doesn't look any deader than usual to me.
– David ThornleySQL, Lisp, and Haskell are the only programming languages that I've seen where one spends more time thinking than typing.
– Philip GreenspunLisp is a programmable programming language.
– John Foderaro, CACM, September 1991Yow!
– Zippy the PinheadI have discovered a truly marvelous proof of this, which this margin is too narrow to contain.
– Pierre de Fermat, Fermat's Last TheoremIf you walked to Houghton County Airport and asked randomly for a matrix, you could probably diagonalize it.
– Dr. Donald Kreher, MTUPerhaps I could best describe my experience of doing mathematics in terms of entering a dark mansion. One goes into the first room, and it’s dark, completely dark. One stumbles around bumping into the furniture, and gradually, you learn where each piece of furniture is, and finally, after six months or so, you find the light switch. You turn it on, and suddenly, it’s all illuminated. You can see exactly where you were.
– Andrew Wiles