upvote
I think it would be interesting to view this from a different angle. Perhaps "Lots of people who know of debuggers still use printf debugging, maybe they're not all wrong and there are advantages that aren't so clear."
reply
Good print statements can become future logging entries for when software ships and debugging statements need to be turned on without source code access.
reply
I think nobody is arguing against logging. However, printf-debugging typically means that you are inserting temporary printf statements to debug a specific issue. In that case, you can just use tracepoints instead (if your debugger supports them).
reply
Yeah and by good print statement you mean use a structured logging lib?
reply
“All these senior/staff FAANG folks are using a different tool than the one I regard as essential.”

There are a couple of ways to resolve this conundrum, and you seem to be locked on the less likely one.

What if… that weren’t an essential skill?

reply
I'm so used to bouncing between environments my code's running in (and which project I'm working on) that I tend to just assume I don't have debugger access, or at least don't have it configured for that environment, even when I do. Like I'm just in the habit of not reaching for it because so often it's not actually there. It rarely matters much anyway (though when it does, yeah, it really does).
reply
Imagine I posted the bell curve meme with "print debugging" on both ends.
reply
No way, sorry. The bug you're trying to squash isn't complicated enough if print statements are as valuable as a debugger. And I get what you're after - this is coming from someone who regularly uses `grep` to answer questions faster than my clients' dopey ETL/DB setups.
reply
Quite seriously, there will be whole categories of bugs you won't catch with a debugger (same way printf or CLI execution etc. have their limitations).

The debugger will never be completely transparent, it also eats resources in parallel to your application, and peeking into the session also introduces timing issues, short of the debugger itself having its own bugs.

I'm saying it would be dumb to dismiss all other tools for the love of debuggers, it's just one tool in the toolbox.

reply
Complicated enough for what?
reply
I'm surprised that you can get that far without seeing value in print debugging.
reply