4 ms·
Speaking from my own experience I'm not so sure that printf debuggers just have "incomplete knowledge [...] of modern debugging tools". I use printf (or the fil
by _0ffh 2y ago
Speaking from my own experience I'm not so sure that printf debuggers just have "incomplete knowledge [...] of modern debugging tools". I use printf (or the file-based equivalent, log files) quite a lot, but nobody can accuse me of not knowing good debugging environments.
Also, what's "modern" about "Walk the call stack! See the parameters and values, add watches, set conditional breakpoints"? Those are all things we had many decades ago (for some languages, at least). If anything, many modern debugging environments are fat and clunky, compared with some of the ones from way back when. What has greatly improved though are time travellers, because we didn't use to have the necessary amounts of memory lots of the time.
So please refrain from calling people with different preferences uneducated. [Ed. I retract this bit, though I think it is not unreasonable to associate lack of knowledge with lack of education (not necessarily formal education!) I don't want to quibble over semantics.]
- llm_trw 2y agoIt got put in vs code so mediocre developers can finally use it. Like all things they cargo cult it because they don't know how to use it properly.
- PittleyDunkin 2y agoThat's a hell of an assumption to make and I don't quite understand your reasoning. Debuggers are complex, true, and often people don't understand their potential. People, however, approach learning code and associated tools from many different directions, backgrounds, assumptions, and biases. If I were to read beyond your words and guess why you're so emphatic, I sense that you're coming from a distinct background (I won't bother guessing) where this is either obscured from you or where you've been allowed to forget.
- dgfitz 2y ago> So please refrain from calling people with different preferences uneducated. OP said: > … people who lean on print debugging often have incomplete knowledge of the immense power of modern debugging tools. I am educated. I have a metric fuckton of incomplete knowledge in all areas of life. You’re poking at something that wasn’t said.
- kazinator 2y agoI've never been able to successfully debug anything with a conditional breakpoint or watch, in spite of knowing about these things and trying. (Well, other than my own conditional breakpoint features built into the code, doing things like programmatically trigger a breakpoint whenever an object with a specific address (that being settable in the debugger interactively) passes certain points in the garbage collector.)
- dgfitz 2y agoI work on a codebase daily that has multiple threads per app, and two event loops. We have successfully sorted out how to manage both loops, and set effective breakpoints to debug efficiently. We also log extensively. I know it’s possible because I do it every day.
- IshKebab 2y agoComparatively modern. Printf debugging is clearly a less modern tool than a fully integrated debugger, even though as you say those are decades old.
- llm_nerd 2y agoI said such users often have incomplete knowledge. Are there exceptions? Sure. Of course there are. "Those are all things we had many decades ago" I didn't claim this is some new invention, though. Though as someone who has been a heavy user of debuggers for DECADES, debuggers have dramatically improved in usability and scenarios where they are useful. "So please refrain from calling people with different preferences uneducated." But...I didn't. In fact I specifically noted that graduates of excellent CS programs often haven't experienced how great the debuggers in the platforms they target are. We all have incomplete knowledge about a lot of things.
- _0ffh 2y agoYeah, it's still the same point of "if only they know what I know". And no need to shout, so have I.