I've been poking around on the machine of a developer who used to work where I work now. He didn't bother cleaning anything off his machine (there's pictures of girls, Messenger conversations, the offer letter from the place he went to, etc). I ended up finding a locally-saved web page full of programming quotes and thought I'd share them with you:
Programming QuotesIf you lie to the compiler, it will get its revenge.
-
Henry SpencerTrying to outsmart a compiler defeats much of the purpose of using one.
-
Kernighan & Plauger, The Elements of Programming Style.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 civilisation.
-
Gerald WeinbergProgramming can be fun, so can cryptography; however they should not be combined.
-
Kreitzberg and ShneidermanTesting 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"Once a new technology starts rolling, if you're not part of the steamroller, you're part of the road.
-
Stewart BrandThe truth does not change according to our ability to stomach it.
-
Flannery O'ConnorLet us change our traditional attitude to the construction of programs. Instead of imagining that our main task is to instruct a computer what to to, let us concentrate rather on explaining to human beings what we want a computer to do.
-
Donald KnuthPremature optimisation is the root of all evil.
-
Donald KnuthBe careful about using the following code -- I've only proven that it works, I haven't tested it.
-
Donald KnuthComputers are good at following instructions, but not at reading your mind.
-
Donald Knuth... the designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual. ... If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.
-
Donald KnuthGood 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 RussellA charlatan makes obscure what is clear; a thinker makes clear what is obscure.
-
Hugh KingsmillUnformed people delight in the gaudy and in novelty. Cooked people delight in the ordinary.
-
Erik NaggumAn organisation that treats its programmers as morons will soon have programmers that are willing and able to act like morons only.
-
Bjarne StroustrupMeasuring programming progress by lines of code is like measuring aircraft building progress by weight.
-
Bill GatesThe 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 CargillBefore software can be reusable it first has to be usable.
-
Ralph JohnsonProgrammers 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.
-
AnonTwo things are infinite: the universe and human stupidity; and I'm not sure about the universe.
-
Albert EinsteinJust because the standard provides a cliff in front of you, you are not necessarily required to jump off it.
-
Norman DiamondBut 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 best performance improvement is the transition from the nonworking state to the working state
-
John OusterhoutAs 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, 1949Real computer scientists despise the idea of actual hardware. Hardware has limitations, software doesn't. It's a real shame that Turing machines are so poor at I/O.
-
AnonThere are only two industries that refer to their customers as "users".
-
Edward TufteDebugging a Direct3D application can be challenging.
-
Microsoft's Direct3D Immediate Mode overview.If you want a girlfriend, avoid working in the computer games industry like the plague. If you work seven days a week, 15 hours a day for almost two years, with barely enough time for a pint, you have no time whatsoever for relationships. Plus computer-games makers are regarded as being about as hip and cool as abattoir workers.
-
Toby Gard, creator of Lara Croft.There are two ways to write error-free programs; only the third works.
-
Alan J. PerlisTo many managers, getting rid of the arrogant, undisciplined, over-paid, technology-obsessed, improperly-dressed etc. programmers would appear to be a significant added benefit.
-
Bjarne Stroustrup "The C++ Programming Language 3e, section 24.2.4"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 StroustrupNaturally we feel that mentally ill people are not what we are looking for when we hire programmers - although there is no empirical data to support or contradict that view...... Is it appropriate to give tests for mental illness to anyone applying for any kind of job?
-
Weinberg "The Psychology of Computer Programming"The most important single aspect of software development is to be clear about what you are trying to build.
-
Bjarne StroustrupIf you think your management doesn't know what it's doing or that your organisation turns out low-quality software crap that embarrasses you, then leave.
-
Edward Yourdon "Rise and Resurrection of the American Programmer"Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.
-
Larry WallIt 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"The road to wisdom?
Well its plain and simple to express:
Err and err and err again,
but less and less and less.
-
Piet HeinAny inaccuracies in this index may be explained by the fact that it has been sorted with the help of a computer.
-
Donald Knuth "Sorting and Searching"TeX has found at least one bug in every Pascal compiler it's been run on, I think, and at least two in every C compiler.
-
Donald KnuthThe process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it can be an aesthetic experience much like composing poetry or music.
-
Donald KnuthYou're bound to be unhappy if you optimize everything.
-
Donald KnuthThese machines have no common sense; they have not yet learned to "think," and they do exactly as they are told, no more and no less. This fact is the hardest concept to grasp when one first tries to use a computer.
-
Donald KnuthThere are perhaps 5% of the population that simply *can't* think.
There are another 5% who *can*, and *do*.
The remaining 90% *can* think, but *don't*.
-
R. A. HeinleinLord, give us the wisdom to utter words that are gentle and tender, for tomorrow we may have to eat them.
-
Sen. Morris UdallDo not worry about your difficulties in mathematics, I assure you that mine are greater.
-
EinsteinComputers are useless. They can only give you answers.
-
Pablo PicassoTheory 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.
-
AnonI really hate this damned machine
I wish that they would sell it.
It never does quite what I want
But only what I tell it.
-
A Programmer's LamentUNIX is simple. It just takes a genius to understand its simplicity.
-
Dennis RitchieWhen someone says, "I want a programming language in which I need only say what I want done," give him a lollipop.
-
Alan PerlisFor every complex problem there is an answer that is clear, simple, and wrong.
-
H L MenckenOne 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 FirthHaste is of the devil. Slowness is of God.
-
H L MenckenIf the code and the comments disagree, then both are probably wrong.
-
attributed to Norm SchryerGood programmers use their brains, but good guidelines save us having to think out every case.
-
Francis Glassborow...well over half of the time you spend working on a project (on the order of 70 percent) is spent thinking, and no tool, no matter how advanced, can think for you. Consequently, even if a tool did everything except the thinking for you -- if it wrote 100 percent of the code, wrote 100 percent of the documentation, did 100 percent of the testing, burned the CD-ROMs, put them in boxes, and mailed them to your customers -- the best you could hope for would be a 30 percent improvement in productivity. In order to do better than that, you have to change the way you think.
-
Fred Brook [paraphrased] as quoted from Allen Holub's "http://www.javaworld.com/javaworld/jw-07-1999/jw-07-toolbox.html (http://"http://www.javaworld.com/javaworld/jw-07-1999/jw-07-toolbox.html")"Never ascribe to malice that which is adequately explained by incompetence
-
Napoleon BonaparteSufficiently advanced incompetence is indistinguishable from malice.
-
AnonAnd the users exclaimed with a laugh and a taunt: "It's just what we asked
for but not what we want."
-
AnonSome problems are so complex that you have to be highly intelligent and well informed just to be undecided about them.
-
Laurence J. PeterThe Six Phases of a Project:
- Enthusiasm
- Disillusionment
- Panic
- Search for the Guilty
- Punishment of the Innocent
- Praise for non-participants
-
AnonThose who cannot remember the past are condemned to repeat it.
-
George SantayanaFor a sucessful technology, honesty must take precedence over public relations for nature cannot be fooled.
-
Richard FeynmanThe inside of a computer is as dumb as hell but it goes like mad!
-
Richard FeynmanThe act of focusing our mightiest intellectual resources on the elusive goal of goto-less programs has helped us get our minds off all those really tough and possibly unresolvable problems and issues with which today's professional programmer would otherwise have to grapple.
-
John BrownA most important, but also most elusive, aspect of any tool is its influence on the habits of those who train themselves in its use. If the tool is a programming language this influence is, whether we like it or not, an influence on our thinking habits.
-
Edsger DijkstraTo iterate is human, to recurse divine.
-
L. Peter DeutschIncreasingly, 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 WirthThere's no sense being exact about something if you don't even know what you're talking about.
-
John von NeumannThere 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 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 CarmackYou can't have great software without a great team, and most software teams behave like dysfunctional families.
-
Jim McCarthyEven if you're on the right track, you'll get run over if you just sit there.
-
Will RogersThat'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"Trying to get into the details seems to be a religious issue -- nearly everybody is convinced that every style but their own is ugly and unreadable. Leave out the "but their own" and they're probably right...
-
Jerry Coffin on indentationWhen you start off by telling those who disagree with you that they are not merely in error but in sin, how much of a dialogue do you expect ?"
-
Thomas SowellEinstein 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.Incompetents invariably make trouble for people other than themselves.
-
Larry McMurtryA notation is important for what it leaves out.
-
Joseph StoyAs 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 RitchieA mathematician is a machine for turning coffee into theorems.
-
Paul ErdosUgly programs are like ugly suspension bridges: they're much more liable to collapse than pretty ones, because the way humans (especially engineer-humans) perceive beauty is intimately related to our ability to process and understand complexity. A language that makes it hard to write elegant code makes it hard to write good code.
-
Eric S. RaymondPHP 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 RibbensSimplicity is prerequisite for reliability
-
Edsger W.DijkstraI've finally learned what "upward compatible" means. It means we get to keep all our old mistakes.
-
Dennie van TasselExceptions relieve the programmer of tedious writing boilerplate code -- without removing the semantics of said code -- and they allow the programmer to arrange the code so that error handling code is more separate from the main program logic.
-
Herb SutterIt is difficult to get a man to understand something when his salary depends on his not understanding it.
-
Upton SinclairSome people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
-
Jamie ZawinskiThe behavior of any bureaucratic organization can best be understood by assuming that it is controlled by a secret cabal of its enemies.
-
Robert Conquest's Second Law of PoliticsPower is the ability to control things, moral authority is the ability to change things
-
Jim WallisThere is nothing more difficult to carry out, nor more doubtful of success, nor more dangerous to handle, than to initiate a new order of things. For the reformer has enemies in all those who profit by the old order, and only lukewarm defenders in all those who would profit by the new...
-
Niccolo Macchiavelli, The PrinceThe open secrets of good design practice include the importance of knowing what to keep whole, what to combine, what to separate, and what to throw away.
-
Kevlin HennyRules of Optimization:
Rule 1: Don't do it.
Rule 2 (for experts only): Don't do it yet.
-
M.A. JacksonMore computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason - including blind stupidity.
-
W.A. WulfWe should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
-
Donald KnuthThe best is the enemy of the good.
-
VoltaireThere's a fine line between being on the leading edge and being in the lunatic fringe.
-
Frank ArmstrongThe pessimist complains about the wind; the optimist expects it to change; the realist adjusts the sails.
-
William Arthur WardGood judgement comes from experience, and experience comes from bad judgement.
-
Fred BrooksPlan to throw one away, you will anyhow.
-
Fred BrooksIf you plan to throw one away, you will throw away two.
-
Craig ZerouniLearning is not compulsory. Neither is survival.
-
W. Edwards DemingC++ tries to guard against Murphy, not Machiavelli.
-
Damian ConwayI have always found that plans are useless, but planning is indispensable.
-
Dwight EisenhowerWe are tied down to a language which makes up in obscurity what it lacks in style.
-
Tom StoppardThey always say time changes things, but you actually have to change them yourself.
-
Andy WarholWe only acknowledge small faults in order to make it appear that we are free from great ones.
-
La RochefoucauldMost 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 KayWe all agree on the necessity of compromise. We just can't agree on when it's necessary to compromise.
-
Larry WallPerl is another example of filling a tiny, short-term need, and then being a real problem in the longer term.
-
Alan KayThe competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.
-
Edsger DijkstraIt 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.
-
Edsger DijkstraWe are apt to shut our eyes against a painful truth.... For my part, I am willing to know the whole truth; to know the worst; and to provide for it.
-
Patrick HenryA non-virtual function says, you have to do this and you must do it this way. A virtual function says you have to do this, but you don't have to do it this way. That's their fundamental difference.
-
Scott MeyersComparing to another activity is useful if it helps you formulate questions, it's dangerous when you use it to justify answers.
-
Martin FowlerCorrectness 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 MeyerAn API that isn't comprehensible isn't usable.
-
James GoslingStyle distinguishes excellence from accomplishment.
-
James CoplienYou know you've achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away.
-
Antoine de Saint-Exupery, Wind, Sand and StarsIt always takes longer than you expect, even when you take into account Hofstadter's Law.
-
Hofstadter's LawThe ability to simplify means to eliminate the unnecessary so that the necessary may speak.
-
Hans HoffmannSimplicity carried to the extreme becomes elegance.
-
Jon FranklinSimplicity is the ultimate sophistication.
-
Leonardo da VinciMoving parts in rubbing contact require lubrication to avoid excessive wear. Honorifics and formal politeness provide the lubrication where people rub together. Often the very young, the untraveled, the naive, the unsophisticated deplore these formalities as "empty," "meaningless," or "dishonest," and scorn to use them. No matter how "pure" their motives, they thereby throw sand into machinery that does not work too well at best.
-
Robert A. HeinleinIt's so easy to become mesmerized by the immediacy of a result that you don't question its validity.
-
Naomi KartenEvery program has (at least) two purposes: the one for which it was written, and another for which it wasn't.
-
Alan J. PerlisElegance is not optional
-
Richard O'KeefeThe 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 PetroskiTechnology 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 LawCopy and paste is a design error
-
David ParnasThere 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.
-
Flon's LawWhen one is postulating correlations or causations extant in reality, one should always remember that the human brain is mainly a pattern recognition engine. And it is such a persistent pattern recognition engine that it often perceives patterns where none exist.
-
Jeff WaltherAny 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 lawIf you can't be a good example, then you'll just have to be a horrible warning.
-
Catherine AirdAlas, to wear the mantle of Galileo it is not enough that you be persecuted by an unkind establishment, you must also be right.
-
Bob ParkAny fool can use a computer. Many do.
-
Ted NelsonSay what you will about the Ten Commandments, you must always come back to the pleasant fact that there are only ten of them.
-
H. L. MenckenYou can know the name of a bird in all the languages of the world, but when you're finished, you'll know absolutely nothing whatever about the bird... So let's look at the bird and see what it's doing -- that's what counts. I learned very early the difference between knowing the name of something and knowing something.
-
Richard FeynmanIncorrect documentation is often worse than no documentation.
-
Bertrand MeyerDebugging 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. KernighanIf the lessons of history teach us anything it is that nobody learns the lessons that history teaches us.
-
AnonUgly programs are like ugly suspension bridges: they're much more liable to collapse than pretty ones, because the way humans (especially engineer-humans) perceive beauty is intimately related to our ability to process and understand complexity. A language that makes it hard to write elegant code makes it hard to write good code.
-
Eric S. RaymondThe 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 StobIf you want a product with certain characteristics, you must ensure that the team has those characteristics before the product's development.
-
Jim and Michele McCarthy - Software for your HeadOrganizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.
-
Conway's Law (For example, if you have four groups working on a compiler, you'll get a 4-pass compiler)