4 ms·
>> Let’s be honest this is the kind of thing that can happen to anyone. I didn't say I'm immune to doing this myself, nor did I condemn anything about the part
by phkahler 2y ago
>> Let’s be honest this is the kind of thing that can happen to anyone.
I didn't say I'm immune to doing this myself, nor did I condemn anything about the particular scenario in the blog. My pain is in trying to articulate why some ways are better when any code that works is in some sense just fine.
>> We all like to think we have picked up habits that immunize us from certain kinds of error but large software systems are complex and bugs happen.
We sure do, although "immunize" is too strong. We try to minimize the likelyhood of these kinds of things. Experience is valuable and sometimes it's hard to articulate why.
- jameshart 2y agoThat’s been my experience of what it means to try to do ‘software engineering’ as a discipline; it’s the ongoing process of developing ways to articulate - beyond just ‘this way feels better to me’ - what attributes we are trying to build into the software we construct, what methods we use to imbue the software with those attributes, and why certain ways of doing so are better than others. It still feels more like craftsmanship than actual engineering. A lot of the time it’s more like how a carpenter learns to use certain tools in certain ways because it’s safer or less prone to error, than how an engineer knows how constructing a particular truss ensures particular loads are distributed in particular ways. And one of the best tools we have for developing these skills is to learn from the mistakes others have made. So I agree - I think your instinct here was to look at this error and try to think whether you have engineering heuristics already that would make you unlikely to fall into this error, or do you need to adjust your approach to avoid making the same mistake. My criticism here was more directed to others in the thread who seem to see this more as an opportunity to say ‘yeah, Windows was always buggy’ rather than to see it as an example of a way things can fail that they need to beware of.