4 ms·
Are you really implying writing a bunch of print statements is more "professional" than a debugger? Debuggers are incredibly useful in tracking certain things d
by jimmaswell 10y ago
Are you really implying writing a bunch of print statements is more "professional" than a debugger? Debuggers are incredibly useful in tracking certain things down and don't make you write and then remove a ton of logging statements. Sometimes logging is easier, sometimes debugging is, and not just for "junior devs".
- zlynx 10y agoI agree that debuggers aren't always the right tool. Use it only when you have a reproducible bug configuration running on your desktop. There are fancier setups than "print statements", like binary lock-free logs to circular memory maps. But in essence, print statements, yes. And heh, I just realized that if you're using a debugger with reversible execution tracing, you're using EXACTLY a binary log file.
- root_axis 10y ago> Are you really implying writing a bunch of print statements is more "professional" than a debugger? This is quite a loaded question, so let's unpack it a bit. 1. I made no implications regarding anything, my point is explicitly laid out with clear reasoning and examples. 2. I never made any remarks regarding how the use of any particular tool reflects on one's professionalism. I am guessing you're conflating my remark with regard to junior-level experience with the qualities of professionalism, and if that's the case I'll clarify that being junior does not in any way reflect on one's professionalism. 3. Your flippant dismissal of logging as "a bunch of print statements" is unfortunate and broadcasts a blind-spot in your knowledge of how robust logging is a critical component of any properly engineered software project, especially network services of any kind. It's not an either or question, logging is a must-have business/operations concern, whereas a debugger is a nice-to-have developer concern. > Debuggers are incredibly useful in tracking certain things down and don't make you write and then remove a ton of logging statements. You shouldn't be writing and removing a ton of logging statements, logging should be a planned and permanent part of your application from the beginning with appropriate severity labelling for debugging as well as run-time analysis purposes. If you want to use a debugger, that's fine, but a debugger is not a replacement for logging. > Sometimes logging is easier, sometimes debugging is, and not just for "junior devs". As I already stated in this comment, that's a false choice, logging should be the minimum, the debugger is there if you really want/need it. I never stated that the debugger is only for junior devs, I said I'd be concerned if a non-junior dev consistently relied on a debugger for solving problems in code, which is not at all the same thing. The use of a debugger is appropriate at any experience level, but generally speaking, the debugger is a slow troubleshooting tool that is best suited for exploring code flow or unusual bugs that seem to defy bedrock assumptions about how the application should be functioning. They are not the best tool for everyday bugs and troubleshooting.