3 ms·
Pessimism. Expect everything that can fail to fail and code defensively to deal with it gracefully. Doesn't make you much of a joy to work with though
by spzb 6y ago
Pessimism. Expect everything that can fail to fail and code defensively to deal with it gracefully. Doesn't make you much of a joy to work with though
- mmargerum 6y agohaha there's a man thats been doing this for a long time. Every bug I have is an 8 man meeting (me being the only one who actually does anything) to explain why my TPS report cover wasn't there and how we can prevent bugs in the future.
- catwind7 6y agoreminds me of http://threevirtues.com/ http://threevirtues.com/
- corysama 6y agoProgramming is a funny mix of deep pessimism and irrational optimism. After coding for a long time, you see two themes continuously and they train your behavior: 1. All kinds of things that you never considered go wrong all the time. This trains you to consider what could possibly go wrong in the long term deeper and ever deeper. I find this carries over into non-coding activities. 2. You are continuously faced with problems that seem completely unsolvable. And, you keep solving them day in and day out for decades. This trains you to be (perhaps rationally) optimistic about what can be done. Because every problem starts out devoid of clues and devoid of clear ways to get clues. No idea what's happening or even where to look. But, it always turns out to be something! It's never evil magic. You might be left with the mystery of "How did this ever work?" But, you solved it. You committed the 3-line patch that took 3 days to write. And, you'll move on to the next unsolvable problem right after lunch.
- getpost 6y agoFor me, this is the attitude that there is always something wrong with the code, there are always errors, and it's a question of whether I've found enough errors so the program is sufficiently reliable. But, I don't think this is the main skill in programming. Good programming is the iterative application of concision and honesty, tempered by the ability to interrupt overfocus so as to find the right balance between perfection and getting something done.