1. 39
  1.  

  2. 9

    This analogy resonates really well with me because I used to be terrible about flossing but then I got a water pik. Now I “floss” everyday. Maybe the “water pik of software correctness” is out there.

    1. 7

      This comment convinced me to take my water pik out of storage. As some one that loves software correctness but is bad at flossing.

      Thanks lobsters.

      1. 3

        I was thinking the same kind of thing, but then about gum picks. Flossing is annoying, but using gum picks is a breeze and achieves a better result.

      2. 9

        I think devs do generally care about correctness, but they get paid not to care. People working on security, availability and correctness all have the problem that it’s really hard to convince the holder of the purse to pay for ensuring something doesn’t happen. How much is every bug that doesn’t make it to production worth?

        1. 5

          Would love to get an international take and maybe someone has some data. Does flossing actually help?

          I’ve never heard a German dentist recommend it more than in passing and I’ve been to a few different ones. Do Germans have a worse rate of dental problems than Americans? Actually I only ever heard it being mentioned as a sort of “everyone does it, you should do it, it’s second nature” by Americans and Canadians, never by Australians or people from the UK - but who knows how representative that is :)

          1. 4

            It’s somewhat contested. Health authorities in the US have found evidence to be unreliable for flossing. That said, I do it daily and always manage to remove at least a little bit of something, even after brushing and using mouthwash, so I think it does serve a purpose.

            1. 4

              There is evidence that flossing prevents gingivitis. The problem with studying flossing is 1) controlled trials have ethics barriers, and 2) that most people self-report that they floss when they don’t.

            2. 3

              My guess as someone who grew up in France, is that it’s less necessary if you have good healthcare and go to the dentist regularly. In the US the dentist can be costly even for a routine cleaning, so you better do your part and floss.

              (I think it is useful, I’ve noticed a difference after starting to do it daily.)

              1. 3

                My Swedish dentist tells me to floss regularly.

              2. 2

                This is a good analogy. And I enjoy your writings @hwayne, but:

                Flossing takes like three minutes a day.

                That’s way longer than even my dentist takes to floss my teeth at an appointment. Either I’m really good at it or I’m doing something wrong. Here’s hoping my meagre attempts and making my software correct isn’t on par with my apparently deficient flossing technique!

                1. 2

                  Flossing is universally considered desired behavior. Formal methods are not, particularly if one generalizes to suggest that it be suited to all types of software.

                  To equate lack of performance of the former with the latter, in terms of laziness or some form of incompetence on the part of developers, is at best ungenerous.

                  For most complex software the problem isn’t correctness, it lies elsewhere.

                  1. 4

                    Did you read the essay?

                  2. 1

                    That tolerance might be why insiders don’t see inconvenience as a serious issue and prefer “easier” explanations, like developer laziness.

                    This made me think about https://en.wikipedia.org/wiki/Theory_X_and_Theory_Y .

                    Thanks for not blaming people without trying to understand their point of view. You cannot help people change their mind by being radical, that’s why your articles that help democratization are a huge help toward communities using those tools.