top | item 10867217

(no title)

code4life | 10 years ago

> This is the "abstinence-only sex education

For the record, I don't think your stupid if you have a child accidentally.

However, once you do accidentally have a child, the results are often not pretty, and I will feel bad watching as you deal with the consequences of your poorly thought out decision.

Regarding programming, I can't see the relationship you make at all.

If you write a good program, well good job. If you write a bad program, you are probably going to write a better one next time. (Ever look back at your old code?)

It takes practice to get good, and the more we work at it, the better we'll get. Just keep trying.

discuss

order

khedoros|10 years ago

I think defen's point was that if a team produces truly high-quality C code, it's similar to a couple that both abstain until marriage. Yes, it's technically possible, but it's rare, and it's not something that should be the expected outcome (that is, most C code will have some problems, and most couples will have at least a little bit of regrettable sexual history before they're married).

It's as if I say: "Step 1 of writing good code: Don't make mistakes. If you make mistakes, you deserve what's coming to you!" Some mistakes are expected, and essentially inevitable; they're the default, not the exception. Blaming the programmer might seem like the right thing to do, but there's more practical benefit to improving the tools and teaching programmers how to handle errors, so that we can decrease the negative impact that bugs will have.

defen|10 years ago

The point of the analogy is that it is very easy to prescribe behavior that is guaranteed to work if followed 100% to the letter, but fails catastrophically if there is even 1 mistake. There are two responses to this - you can either design systems that are easier to follow & fail less catastrophically in the real world (don't use C for new code if you don't need it; teach people about safe sex practices), OR you can double down on the sermonizing about how if people had just been smarter / had more willpower, they wouldn't be in this bad situation.

code4life|10 years ago

Yes, but the analogy isn't accurate, in the sense that when things do fail in a C system, it's probably not that hard to fix.

crpatino|10 years ago

> However, once you do accidentally have a child, the results are often not pretty... Regarding programming, I can't see the relationship you make at all.

I have two words for you: MAINTENANCE PROGRAMER.

code4life|10 years ago

Ha! Yes, aren't we all.