3 ms·
Someday, you'll get to work in a language that has a good REPL, and you'll never want to go back to printing. :)
by japherwocky 15y ago
Someday, you'll get to work in a language that has a good REPL, and you'll never want to go back to printing. :)
- jrockway 15y agoSomeday, you'll want to run your code more than once, and you'll write tests instead of typing them into the REPL.
- eropple 15y agoPrint statements aren't meaningful tests, though. Hence the eight hojillion xUnit ports for pretty much every major language.
- jrockway 15y agoOK, so say you have some test that creates a foobar object and invokes the method baz, which does some stuff that you care about. The test fails. What do you do? Do you pick apart the implementation of baz in the REPL, or do you add some print statements inside baz? The second option is easier. You obviously remove them once your understanding (and tweaking) of the code leads to a passing test.
- japherwocky 15y agoyou set a trace point inside baz, investigate with the REPL, and fix your code.
- japherwocky 15y agowait.. what? are you scanning stdout with your tests?
- phaylon 15y agoI'm sorry, but this is condescending and simply false, even with the smiley face. I use output for inspection in Perl, Scheme, Javascript, and for (what are in my world) good reasons. The print statement usually doesn't influence the running program in any way. That means no matter who wrote the interpreter/compiler, the debugger, or whatnot, the printing won't have much influence on the program. But I've heard "Why is this bug only showing up in the debugger?" more than once in my time.