2 ms·
Defects are the fault of a lot of factors. The reason our skyscrapers rarely fall down is that there is societal pressure against them falling down. So we creat
by 3pt14159 6y ago
Defects are the fault of a lot of factors. The reason our skyscrapers rarely fall down is that there is societal pressure against them falling down. So we create laws that enforce that buildings conform to a set of standards. Some places have more prescriptive standards than others, and the result is that there is less room for creativity by the architects and engineers, but it makes the average case easy to reason about. Some places have performance based standards which come with their own downsides, but the end result is that if a building comes down in a first world country, it's a pretty big deal.
We could do this with software, but the world would look very, very different. We haven't had too many major destructive acts outside of privacy leaks, so there isn't pressure and resulting political will to regulate the industry, so economic pressures dominate what software looks like. Things like CSP headers are a distant, distant afterthought. People can't even keep their OSes, libraries, and runtimes current.
Plus software is harder to reason about than a building. Things can squeeze in or out through the smallest crack and nobody on the planet really knows whats going on in a modern cellphone or self-driving car top to bottom.
That said, I take responsibility for the security holes and bugs I create. There is no other way of being a professional software developer, even if it is hard.