• dwain.c (11/6/2013)


    Jeff Moden (11/6/2013)


    GilaMonster (11/5/2013)


    Jeff Moden (11/5/2013)


    I'm well aware of that. You and I have had this conversation before and I absolutely agree. I should have said "and that someone is wrong because making good choices as to data type is NOT a pre-optimization."

    Yup. Just putting it out there for those who read this and don't know.

    I think I need to write something on this topic...

    Thanks, Gail. It would be a real pleasure to proof read it for you, if you'd like. I saw a part of something that you did on the "Preoptimization is the root of all evil" thing and it was absolutely awesome.

    I'll also try to remember to add the missing part on the next post that comes up on this subject. I'd left out a really important part on this one until you reminded me.

    At the risk of showing my ignorance (again), I had never heard of this Knuth quote "Preoptimization is the root of all evil" so I Googled it. I found a Wiki page that listed it with some links to the original source but they seemed to be all dead. I'd like to read about what Knuth actually said in context. You know how quotes can sometimes be misconstrued when out of context.

    Do you know of any links that work where he is describing it?

    Indeed I do...

    http://sbel.wisc.edu/Courses/ME964/Literature/knuthProgramming1974.pdf

    Once you have that PDF loaded, just search for the word "evil" and it will take you to the quote on page 8 of the PDF (originally numbered page "268" in the original book). And, indeed, many have taken what the man has said totally out of context. Many have, in my humble opinion, warped the word "premature" to suit their own needs as they have also done with the word "optimization".

    But I'll let you draw your own conclusions from the article at the URL above.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)