Back when I was in the Linux culture until 2006 or so it was constant that visual debuggers like DDD "just didn't work" but you could use gdb or jdb.
I got into the Windows world with visual debuggers that worked and came to the conclusion that I'd use the debugger because with the debugger I can debug the code without touching the source code so I never accidentally check in a console.log() or other hack into the code that shouldn't go into production.
People advocate using languages like Python in the REPL but you can get a similar interactive experience in a language like Java by writing a unit test that sets up something you want to "test" and playing around with it in the debugger. The stuff the Python developer types into the REPL scrolls away, but you can check in your unit test and make something permanent.
A lot of people never use the debugger.
Back when I was in the Linux culture until 2006 or so it was constant that visual debuggers like DDD "just didn't work" but you could use gdb or jdb.
I got into the Windows world with visual debuggers that worked and came to the conclusion that I'd use the debugger because with the debugger I can debug the code without touching the source code so I never accidentally check in a console.log() or other hack into the code that shouldn't go into production.
People advocate using languages like Python in the REPL but you can get a similar interactive experience in a language like Java by writing a unit test that sets up something you want to "test" and playing around with it in the debugger. The stuff the Python developer types into the REPL scrolls away, but you can check in your unit test and make something permanent.