• James Stover (12/27/2009)


    I'll go one further - I don't think it's acceptable to have service packs.

    Brave statement. I'm pretty rigorous when writing code but I doubt that even John Carmack could claim to write bug free code.

    If you look down the bug list for SQL Server you will see that the vast majority is the sort of stuff that crops up only in specific circumstances. On a large product such as SQL Server, or any other DB system for that matter, the sheer number of possible circumstances make it nigh on impossible to test all possibilities.

    Any complex product has bug fixes and, scarily, that includes aeroplanes. See http://www.aaib.gov.uk/publications/index.cfm

    When making changes software is just as subject to the law of unintended consequences as anything else. Little systems that function fine in isolation produce behaviours that are unintended and even undesirable when combined.

    I saw an engineering show that mentioned that shutting one of 3 tunnels in a busy intersection actually improved the traffic flow. The expected consequence was that it would make rush hour intollerable! It would be really easy to come across this situation in software with a multi-threaded environment.