The key to performance is elegance, not battalions of special cases.
        — Jon Bentley and Doug McIlroy
  
    The three virtues of a programmer: laziness, impatience, and hubris.
        — Larry Wall
  
    Dogmatism over minutiae is the purview of the intellectually weak.
        — C++ FAQ
  
    The unavoidable price of reliability is simplicity.
        — Sir C.A.R. (Tony) Hoare (inventor of "Quicksort")
  
    If you think it's simple, then you have misunderstood the problem.
        — Bjarne Stroustrup
  
    Software development processes exist to manage the bell curve of ability in developers.
        — Ted Dziuba
  
    I now have had my foggy crystal ball for quite a long time. Its predictions are invariably gloomy and usually
    correct, but I am quite used to that and they won't keep me from giving you a few suggestions, even if it is merely
    an exercise in futility whose only effect is to make you feel guilty.
        — E. W.
      Dijkstra
  
    Not even vi uses vi key bindings for its command line.
        — PdS
  
    Knowledge is just opinion that you trust enough to act upon.
        — Orson Scott Card
  
    To keep large programs well structured, you either need superhuman will power, or proper language support for
    interfaces.
        — Greg Nelson
  
    You think you know when you can learn, are more sure when you can write, even more when you can teach, but certain
    when you can program.
        — Alan Perlis
  
    The moral of the story is that with a contrived example, you can prove anything.
        — Joe Spolsky
  
    Systems have sub-systems and sub-systems have sub-systems and so on ad infinitum-which is why we're always starting
    over.
        — Alan Perlis
  
    The most important single aspect of software development is to be clear about what you are trying to build.
        — Bjarne Stroustrup
  
    Problems cannot be solved at the same level of awareness that created them.
        — Einstein
  
    Mediocre design provably wastes the world's resources, corrupts the environment, affects international
    competitiveness. Design is important.
        — Fred Brooks, The Design of Design
  
    No amount of genius can overcome a preoccupation with detail.
        — Levy's Eighth Law
  
    But I will argue that knowing complete product requirements up front is a quite rare exception, not the norm.
        — Fred Brooks, The Design of Design
  
    Too many of today's real-time systems built with an RTOS are working by luck. Excess processing power may be masking
    design and analysis sins or the worst-case just hasn't happened-yet.
        — Michael Barr
  
    It is far, far easier to make a correct program fast than it is to make a fast program correct.
        — Herb Sutter
  
    Trying to outsmart a compiler defeats much of the purpose of using one.
        — Brian Kernighan & P.J. Plauger
  
    How hard can it be? What can go wrong?
        — Jack Crenshaw, http://www.embedded.com/columns/programmerstoolbox/196601281
  
    Better a poor steam engine that runs, than a good one never finished.
        — R. G. Le Tourneau
  
    Never put off until tomorrow what you can put off forever.
        — P.J. Plauger, http://www.embedded.com/columns/programmerstoolbox/213401635?pgno=2)
  
    The software industry is in the same state of affairs that the pharmaceutical industry was in during the late
    nineteenth century.
        — Alan M. Davis
  
    Great Designs Come from Great Designers: Not from Great Design Processes.
        — Fred Brooks
  
    Proof by analogy is fraud.
        — Bjarne Stroustrup
  
    One test result is worth one thousand expert opinions.
        — Wernher Von Braun
  
    Men and months are interchangeable commodities only when a task can be partitioned among many workers with no
    communication among them.
        — Fred Brooks
  
    Predictability and great design are not friends.
        — Fred Brooks, The Design of Design
  
    Peel back the facade of rigorous methodology projects and ask why the project was successful, and the answer [is]
    people.
        — Jim Highsmith, Agile Software Development Ecosystems
  
    Simplicity is a prerequisite for reliability.
        — E. W. Dijkstra
  
    A program is no place to put crib notes on language semantics.
        — Stephen C. Dewhurst, C++ Common Knowledge: Essential Intermediate Programming
  
    Consensus processes starve innovative design by eating the resource.
        — Fred Brooks, The Design of Design
  
    The cheapest, fastest and most reliable components of a computer system are those that aren't there.
        — Gordon Bell
  
    Missing requirements are the hardest requirements errors to correct.
        — Robert L. Glass, The Facts and Fallacies of Software Engineering
  
    90% of the functionality delivered now is better than 100% delivered never.
        — Kernighan & Plauger
  
    One of the things I hated most about agile is when management decides to "be" agile, only they don't want to change
    anything.
        — Daniel Markham, in Agile Ruined My Life
  
    Of the differing pronunciations of Niklaus Wirth's surname it is said that Europeans call him by name but Americans
    call him by value.
        — laonianren, http://blogs.msdn.com/b/oldnewthing/archive/2011/03/23/10144592.aspx#comments
  
    It seems that all too often the ability to write code and the ability to put a meaningful sentence together are
    inversely correlated.
        — Nigel Jones
  
    As a rule of thumb the requirement for parallelism and concurrency within a piece of software should be discovered
    and not introduced.
        — Cameron Hughes
  
    The Waterfall Model is wrong and harmful; we must outgrow it.
        — Fred Brooks, The Design of Design
  
    Since FORTRAN should virtually eliminate coding and debugging, it should be possible to solve problems for less than
    half the cost that would be required without such a system.
        — IBM54, at the release of FORTRAN
  
    We can solve any problem by introducing an extra level of indirection.
        — Butler Lampson (AKA "The Fundamental Theorem of Software Engineering", according to
    Andrew Koenig)
  
    Multitasking is the enemy of focus.
        — Unknown, found http://www.betterprojects.net/2010/12/multitasking-is-enemy-of-focus.html
  
    Organizational busy work tends to expand to fill the working day.
        — Tom DeMarco's "slight variation" on Parkinson's Law
  
    Product procedure...must securely protect the crown jewels, but, equally important, it must eschew building high
    fences around the garbage cans.
        — Fred Brooks, The Design of Design
  
    Simplify Essential Complexity; Diminish Accidental Complexity
        — Neal Ford, 97 Things Every Architect Should Know
  
    A design style is defined by a set of microdecisions. A clear style reflects a consistent set. A clear style may not
    be a good style; a muddled one never is.
        — Fred Brooks, The Design of Design
  
    GAD's Maxim #1: Network designs are based on Politics, Money, and The right way to do it — in that
    order.
        — Gary A. Donahue
  
    If we knew what we were doing, it would not be called research, would it?
        — Albert Einstein
  
    For every expert there is an equal and opposite expert.
        — Arthur C. Clark
  
    Software work is the most complex that humanity has ever undertaken.
        — Fred Brooks, The Mythical Man-Month
  
    I've been told that I can be a perfectionist — but I'm working on that and expect that I can improve
    myself.
        — Forrest Shull
  
    Better to be wrong while being right than to be right while missing the point...
        — Michael S. Kaplan
  
    Originality is no excuse for ignorance.
        — Fred Brooks, The Design of Design
  
    Design work doesn't just satisfy requirements, it elicits them.
        — Fred Brooks, The Design of Design
  
There are 10 types of people in this world: those who understand binary and those who don't.
    The primary purpose of software estimation is not to predict a project's outcome; it is to determine whether a
    project's targets are realistic enough to allow the project to be controlled to meet them.
        — Steve McConnell
  
    Process improvement is most valuable in raising the floor of a community's practice.
        — Fred Brooks, The Design of Design
  
    Those missing components are also the most accurate (they never make mistakes), the most secure (they can't be
    broken into), and the easiest to design, document, test and maintain. The importance of a simple design can't be
    overemphasized.
        — Jon Bentley
  
    The central tension in the software process comes from the fact that we must go from an informally identified need
    that exists in-the-world to a formal model that operates in-the-computer.
        — Bruce Blum
  
    Technical skill is mastery of complexity while creativity is mastery of simplicity.
        — E.C. Zeeman
  
    If you have unskilled people who work poorly together, no amount of process will save your projects.
        — Jim Highsmith
  
    Simple, clear purpose and principles give rise to complex, intelligent behavior.
    Complex rules and regulations give rise to simple, stupid behavior.
        — Dee Hock
  
    Plans are nothing, Planning is everything.
        — Gen. Dwight Eisenhower
  
    There is a general principle here: If you're not willing to force a failure, you probably don't know what the actual
    effects of a failure would be. You may think you know, but you don't.
        — Andrew Koenig
  
    Men of lofty genius when they are doing the least work are the most active.
        — Leonardo da Vinci
  
    People who are building applications are in fact building languages; fundamentally, programming has to do with
    developing languages suitable for particular applications.
        — Adin Falkoff
  
    All of life is iterative. It goes back to the point I made earlier, which is you can't a priori know enough to even
    ask the right questions.
        — Grady Booch
  
    Entrepreneurship boils down to the simple fact that a team of really smart people who can get things done are going
    to get smart, useful things done.
        — Joel Spolsky
  
    Simple rules guide innovative, intelligent responses. Comprehensive rules guide rote, routine responses.
        — Jim Highsmith
  
    Software is hard.
        — Donald Knuth, All
      Questions Answered
  
    What this means in practical terms is that we are never quite sure whether a real-time system will be satisfactory
    until we have actually constructed it (and, sometimes, not even then).
        — Bran Selic, Garth Gullekson, Paul T. Ward
  
    If you find that your organization can't make the hard decisions that Scrum demands, then high-risk, uncertain
    projects have very little probability of success in your organization.
        — Jim Highsmith
  
    Opportunistic reuse != product line development.
        — Scott Gray
  
    Everything outside a three-month window is the area of well-documented ignorance. (re PERT charts)
        — Ken Orr
  
    Architecture is a hypothesis about the future that holds that subsequent change will be confined to that part of the
    design space encompassed by that architecture.
        — Brian Foote & Joseph Yoder, The
      Big Ball of Mud
  
    Too many managers and executives try to reduce programming to a low-level assembly-line activity. That's
    inefficient, wasteful, costly in the long run, and inhumane to programmers.
        — Bjarne Stroustrup
  
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
    A language that doesn't affect the way you think about programming is not worth knowing. 
        — Alan Perlis
  
    Data is not information, information is not knowledge, knowledge is not understanding, understanding is not
    wisdom.
        — Clifford Stoll
  
    It is hard to write even the smallest piece of code correctly.
        — Joshua Bloch
  
    Lightstone's Convolution Principle: The concurrent development of multiple features operating on intersecting
    componentry will take longer to complete than the sum of the schedule estimations for each.
  
    Alas, some will dismiss these arguments as matters of programming style, and developers enjoy arguing about style
    issues almost as much as they enjoy arguing about which is the One True Editor. (As if there's any doubt. It's
    Emacs.)
        — Scott Meyers, Effective STL: 50 Specific Ways to Improve Your Use of the Standard
      Template Library
  
    Testing can be used to show the presence of errors, never their absence!
        — Dijkstra
  
    Never use brute force in fighting an exponential.
        — Andrei Alexandrescu
  
    "Early optimization is the root of all evils," Knuth said, but on the other hand, "belated pessimization is the leaf
    of no good," according to Len Lattanzi.
        — Andrei Alexandrescu
  
    Focusing on skills, communications, and community allows the project to be more effective and more agile than
    focusing on processes and plans.
        — Alistair Cockburn
  
    Inside every large problem, is a small problem-struggling to get out.
        — Sir C.A.R. (Tony) Hoare (inventor of "Quicksort")
  
    Organizations which design systems are constrained to produce designs which are copies of the communications
    structure of these organizations. 
        — Melvin Conway (AKA Conway's Law, paraphrased as "If you have 4 groups working on a
    compiler, you'll get a 4-pass compiler.")
  
    We get things wrong before we get things right.
        — Alistair Cockburn
  
    Measure twice, optimize once.
        — Herb Sutter
  
    If you have a procedure with 10 parameters, you probably missed some.
        — Alan Perlis
  
    Process is not a substitute for skill.
        — Jim Highsmith
  
    A programming language is low level when its programs require attention to the irrelevant.
        — Alan Perlis
  
    If the success of their project depends entirely on shipping everything in their plan for the full project cycle,
    that's a recipe for failure.
        — J.D. Meier
  
Antipattern: Something must be done. This is something. Therefore we must do it!
    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
  
    A methodology's weight is a product of its size and ceremony.
        — Jim Highsmith
  
    Brian Kernighan's two rules for optimization:
    1) Don't do it.
    2) (For experts only) Don't do it yet.
  
    When someone says, "I want a programming language in which I need only say what I wish done," give him a
    lollipop.
        — Alan Perlis
  
    Remember, our concern is to protect against Murphy, not Machiavelli.
        — Herb Sutter
  
    If you are guided by the agile principles, you will avoid doing things just because they are prescribed and you will
    look for opportunities to deliver useful functionality more quickly.
        — Suzanne & James Robertson
  
    Software product development isn't only nonlinear, it's discontinuous.
        — Raymond Chen
  
    Before you improve a process, you need to have one worth a name.
        — Ivar Jacobson, Masterminds of Programming)
  
    Even in a platform that doesn't pretend to be absolutely portable, you have to pay a high toll for the convenience
    of a managed execution environment.
        — Danny Kalev
  
    Any attempt to formulate all possible requirements at the start of a project will fail and would cause considerable
    delays.
        — Pahl and Beitz, Engineering Design
  
    Well, here's a news flash: Requirements change. Designs that cannot tolerate changing requirements are poor designs
    to begin with.
        — Robert Martin, Working Effectively with Legacy Code
  
People don't change their minds. They die, and are replaced by people with different opinions. — Arturo Albergati (if you don't know why I put this quote in the programming section, you either are sufficiently cynical or haven't worked for a large company)
    Many jobs worth doing aren't worth doing right; a novelist is foolish to agonize over each word in a shopping list.
    Brilliance is typically the act of an individual, but incredible stupidity can usually be traced to an organization.
    A popular Western writer once confessed that when he was paid by the word, the heroes in his books took six bullets
    to die. When programmers are paid by the line of code, how do you suppose the array X[l . . lOOO] is initialized to
    zero? (Hint: programmers paid by the speedup initially produce very slow code, and programmers required to execute a
    certain percentage of branches during testing have a lot of statements of the form if true then. . . 1)
        — Jon Bentley, in Programming Pearls Communications of the ACM February 1986 Volume 29
    Number 2
  
    I would not give a fig for the simplicity on this side of complexity, but I would give my life for the simplicity on
    the other side of complexity.
        — Oliver Wendell Holmes
  
    There is no one "root of all evil" in software development. Design is hard in many ways. People tend to
    underestimate the intellectual and practical difficulties involved in building a significant system involving
    software. It is not and will not be reduced to a simple mechanical "assembly line" process. Creativity, engineering
    principles, and evolutionary change are needed to create a satisfactory large system.
        — Bjarne Stroutrup (Masterminds of Programming)
  
    There is an incredibly large spectrum of possible causes for program bugs, including simple typos, "thinkos," hidden
    limitations of underlying abstractions, and outright bugs in abstractions or their implementation.
        — Guido van Rossum
  
    There are two kinds of software projects: those that fail, and those that turn into legacy horrors.
        — Peter Weinberger (Masterminds of Programming)
  
    The key to performance is elegance, not battalions of special cases.
        — Jon Bentley and Doug McIlroy, found here
  
    Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two
    problems.
        — Jamie Zawinski
  
    SQL, Lisp, and Haskell are the only programming languages that I've seen where one spends more time thinking than
    typing.
        — Philip Greenspun
  
    I object to doing things that computers can do.
        — Olin Shivers
  
    Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that
    experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a
    lot.
        — Eric Raymond, "How to Become a Hacker"
  
    Programs must be written for people to read, and only incidentally for machines to execute.
        — Abelson & Sussman, SICP, preface to the first edition
  
    Despite the seemingly endless necessity for doing so, it's actually not possible to reverse-engineer intended
    invariants from staring at thousands of lines of code (not in C, and not in Python code either).
        — Tim Peters
  
    It is a mistake to think that programmers wares are programs. Programmers have to produce trustworthy solutions and
    present it in the form of cogent arguments. Programs source code is just the accompanying material to which these
    arguments are to be applied to.
        — E. Dijkstra
  
    This does not mean that I fail to recognise that Lisp is still #1 for key algorithmic techniques such as recursion
    and condescension. It just means that I have no idea how, or indeed if, Lisp handles exceptions.
        — Verity
      Stob
  
    The first law of computer science: Every problem is solved by yet another indirection.
        — Bjarne Stroustrup
  
All problems in computer science can be solved by another level of indirection, but that usually will create another problem. — David Wheeler, inventor of the subroutine
    Object-oriented programming is an exceptionally bad idea which could only have originated in California.
        — Edsger Dijkstra
  
    There are only two kinds of languages: the ones people complain about and the ones nobody uses.
        — Bjarne Stroustrup
  
    Greenspun's 10th Rule of Programming: Any 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
  
    Despite the seemingly endless necessity for doing so, it's actually not possible to reverse-engineer intended
    invariants from staring at thousands of lines of code (not in C, and not in Python code either).
        —  Tim Peters
  
    It is a mistake to think that programmer's wares are programs. Programmers have to produce trustworthy solutions and
    present it in the form of cogent arguments. Programs source code is just the accompanying material to which these
    arguments are to be applied to.
        — E. W. Dijkstra
  
    If we knew what we were doing, it wouldn't be called research.
        — Einstein
  
    The primary purpose of the DATA statement is to give names to constants; instead of referring to pi as
    3.141592653589793 at every appearance, the variable pi can be given that value with a DATA statement and used
    instead of the longer form of the constant. This also simplifies modifying the program, should the value of pi
    change.
        — The FORTRAN manual for the Xerox Computers (This sounds too bad to be true. Can
    anyone confirm this?)
  
    The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.
        — E. W. Dijkstra
  
    It is practically impossible to teach good programming style to students that [sic] have had prior expose to BASIC;
    as potential programmers they are mentally mutilated beyond hope of regeneration.
        — E. W. Dijkstra
  
    Beware of bugs in the above code; I have only proved it correct, not tried it.
        — Donald E. Knuth
  
    Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin.
        — Bruce Schneier in Applied Cryptography, p.39, quoting Knuth quoting John von Neumann
  
    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
  
    Even the small children are used to questions like *Are you hungry?* It's very unlikely that they answer *Zero!*
    Yet, they have no formal knowledge of booleans. ;)
        — Petr Prikryl on comp.lang.python
  
    Caveat hackor!
        — Jon Bentley
  
    A programming language is low level when its programs require attention to the irrelevant.
        — Alan Perlis
  
    Many jobs worth doing aren't worth doing right; a novelist is foolish to agonize over each word in a shopping
    list.
        — Jon Bentley in Programming Pearls Communications of the ACM February 1986 Volume 29
    Number 2
  
    You are not expected to understand this.
        — A comment from the source of UNIX 6th Ed, unix/slp.c, line 438
  
    Real Users never know what they want, but they always know when your program doesn't deliver it.
        — Seen in ASR
  
    That is not a mess on my desk. I am using a hashing algorithm to improve access time.
        — Mark Tomory's .sig file, mt@carthage.edu
  
    Intelligence: Finding an error in a Knuth text.
    Stupidity: Cashing that $2.56 check you got.
        — a Slashdot sig, Quoted by Edward
      O'Connor
  
    I am a design chauvinist. I believe that good design is magical and not to be lightly tinkered with. The difference
    between a great design and a lousy one is in the meshing of the thousand details that either fit or don't, and the
    spirit of the passionate intellect that has tied them together, or tried. That's why programming -- or buying
    software -- on the basis of "lists of features" is a doomed and misguided effort. The features can be thrown
    together, as in a garbage can, or carefully laid together and interwoven in elegant unification, as in APL, or the
    Forth language, or the game of chess.
        — Ted Nelson
  
    Those who write software only for pay should go hurt some other field.
        — Erik Naggum (gnu.misc.discuss)
  
    Syntactic sugar causes cancer of the semicolon.
        — Alan Perlis
  
    It is easier to write an incorrect program than understand a correct one.
        — Alan Perlis
  
    Simplicity does not precede complexity, but follows it.
        — Alan Perlis
  
    There are two ways to write error-free programs; only the third one works.
        — Alan Perlis
  
    Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.
        — Alan Perlis
  
    If I don't understand lisp, it would be wise to not bray about how lisp is stupid or otherwise criticize, because my
    stupidity would be archived and open for all in the know to see.
        — Xah (comp.lang.lisp)
  
    Of the four project development variables - scope, cost, time and quality - quality isn't really a free variable.
    The only possible values are "excellent" and "insanely excellent", depending on whether lives are at stake.
        — Kent Beck
  
    Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and
    restrictions that make the additional features appear necessary.
        — Revised(5) Report on the Algorithmic Language Scheme
  
    Premature optimization is the root of all evil.
        — Donald E. Knuth, From Structured Programming with goto Statements
  
    For every complex problem, there is a solution that is simple, neat, and wrong.
        — H.L. Mencken
  
    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
  
    Indeed, when I design my killer language, the identifiers "foo" and "bar" will be reserved words, never used, and
    not even mentioned in the reference manual. Any program using one will simply dump core without comment. Multitudes
    will rejoice.
        — Tim Peters
  
    Arrrrgh, the braindamage! It's not unlike the massively non-brilliant decision to use the period in abbreviations as
    well as a sentence terminator. Had these people no imagination at _all_?
        — Erik Naggum (comp.lang.lisp)
  
    There are two kinds of large software systems: those that evolved from small systems and those that don't
    work.
        — Seen on slashdot.org
  
    I have a feeling that any simple problem can be made arbitrarily difficult by imposing a suitably heavy
    administrative process around the development.
        — Joe Armstrong (comp.lang.functional)
  
    Very clever implementation techniques are required to implement this insanity correctly and usefully, not to mention
    that code written with this feature used and abused east and west is exceptionally exciting to debug.
        — Erik Naggum, commenting on Algol-style "call-by-name"
  
    ...but I'd rather not reinvent the wheel if I don't have to. On the other hand, if the currently instantiated
    version of the wheel consists of a square rock covered with moss, I might as well just start fresh.
        — Roy Smith (comp.lang.python)
  
    Just getting something to work usually means writing reams of code fast, like a Stephen King novel, but making it
    maintainable and high-quality code that really expresses the ideas well, is like writing poetry. Art is taking
    away.
        — Erik Naggum (comp.lang.lisp)
  
    Counting lines is probably a good idea if you want to print it out and are short on paper, but I fail to see the
    purpose otherwise.
        — Erik Naggum (comp.lang.lisp)
  
    We're already scrubbing the face of intuition with steel wool, setting it on fire, then putting it out with an
    axe.
        — Tim Peters, commenting on comparing recursive structures
  
    Monte Carlo sampling is no way to understand code.
        — Gordon McMillan (comp.lang.python)
  
    Once you understand how to write a program get someone else to write it.
        — Alan Perlis
  
    I will not do it as a hack,
    I will not do it on a Mac,
    I will not do it for my friends,
    I will not do it on weekends,
    I will not write for Uncle Sam,
    I won't do ADA, Sam-I-Am!
        — Gregory Bond
  
    Simple things should be simple and complex things should be possible.
        — Alan Kay
  
    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 S. Borenstein, uttered after the Gulf War but long before 9/11/01
  
    It's hard to read through a book on the principles of magic without glancing at the cover periodically to make sure
    it isn't a book on software design.
        — Bruce Tognazzini
  
    To keep large programs well structured, you either need superhuman will power, or proper language support for
    interfaces.
        — Greg Nelson
  
    You think you know when you can learn, are more sure when you can write, even more when you can teach, but certain
    when you can program.
        — Alan Perlis
  
    To a database person, every nail looks like a thumb. Or something like that.
        — Jamie Zawinski
  
    We are on the verge: Today our program proved Fermat's next-to-last theorem.
        — Alan Perlis
  
    There are only two kinds of languages: the ones people complain about and the ones nobody uses.
        — Bjarne Stroustrup
  
    Object-oriented programming is an exceptionally bad idea which could only have originated in California.
        — Edsger Dijkstra