News for hackers. Stuff that matters.
Re:Why Isn't Debugging Treated as a First-Class Activity? by throwawayjava on Wednesday July 11, 2018 @11:36AM (#17507735)
The worst "why?" answers often go like this:

1. Green field+0 years: This particular portion of the system was designed in this way as a cargo cult.

2. Green field+2 years: Because that portion of the system was designed in that way, we had to modify this other portion of the system to achieve X.

3. Green field+3 years: Because of the change in 2, and this new constraint Y, we had to make this other change in a third portion of the system.

5. Green field+(3 to N) years: repeat steps 2 and 3.

6. Green field+N+M years: Wow 5 (or previous 6) has created a mess and exposed a serious architectural flaw from step 1 or previous 6. All of the logic in the various iterations of 2+3 are refactored as best as possible.

So, the "why" basically grounds out in "the refactoring we could afford to do in order to correct a mess that resulted from a cargo cult or previous refactoring of even older cargo cult".

Is that "why" functionally helpful? Usually not for me -- in either case, I can't really assume a lot and I have to proceed with laborious "just watch what the code does" debugging/logging that I would've done without the "why?".

But this is probably a ymmv situation.

Re:Why Isn't Debugging Treated as a First-Class Activity? by sli on Wednesday July 11, 2018 @12:24PM (#17508131)
The worst why that I regularly hear is, "the client changed their mind and it's the best we could do."

Which, of course, has two negative implications. Not just one.

Re:Why Isn't Debugging Treated as a First-Class Activity? by throwawayjava on Wednesday July 11, 2018 @01:11PM (#17508524)
Yes, that's the root cause of 2+3.