Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The answer is not "screw the safeguards, I know what I'm doing". The answer is language that

a) doesn't have different ways to do the same thing. (I.e. if with either a single statement or a compound statements)

b) Doesn't do things implicitly. I.e. if you want to fall through, you have to indicate that. If you want to break, you have to indicate that, too.

The idea of saying "it's only mediocre people" is nice, because it implies we're not mediocre. It's also wrong, because everybody makes mistakes. You want to prevent mistakes from being made in the first place, independent of skill level. That's why doctors have adopted checklists, for example. They certainly know all the things on there. And 99.99% of the time, they do just what's on the checklist.

But that one time when you're tired, and you forget one tiny step that can have catastrophic consequences, that checklist saves your bacon.

Unambiguity in your language is nothing but a syntactically enforced checklist.

After-the-fact punishment doesn't really help as much as you'd like to think. It merely leads to expending energy on cover-ups instead of making sure the mistake never happens again.



Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: