3 ms·
> at the end of the day all debugger does is printing something conditionally This ignores an awful lot of nuance. If I’m stepping through an algorithm intera
by hamburglar 4y ago
> at the end of the day all debugger does is printing something conditionally
This ignores an awful lot of nuance. If I’m stepping through an algorithm interactively and deciding on the fly what I want to pay attention on a given iteration (or which iteration I want to start paying attention at), or running until a particular thing of interest changes, or any number of debugger scenarios, you can argue that logging all such info all the time and then poring over the output in a log technically gives the same information, but at that point you are positively drowning in data. A debugger gives you the ability to dynamically change what you care about “logging” as your idea of what you need to know changes. I feel like nobody who has ever ever experienced a truly fast (perf-wise) and fluid debugging experience would ever deny how nimble it feels and how you’re never going to get there by deciding ahead of time what is important to log (or by logging absolutely everything).
I also think a lot of people are tainted by the debugging experience in a lot of more modern languages. Golang, python, even Java.. the debugger perf is miserable. Give me msvc 6 and three Fn keys and it feels like you are controlling the processor in real-time.
- wruza 4y agoGood points, I summarized it here: https://news.ycombinator.com/item?id=31617858 https://news.ycombinator.com/item?id=31617858
- hamburglar 4y agoTruly, I can’t find fault if you’ve tried both and find one much more productive for yourself. But I run into a lot of junior devs these days that don’t even know what they’re missing because they’ve never had that experience of the debugger being an extension of your arm that’s controlling the program in a very efficient way.