I personally believe that the real problem lies in the fact that the two terms are far from being mutually exclusive: some programming mistakes can arise for silly reasons, but they may have serious consequences in many different ways.