
Why debugging code in Lisp is different - _grrr
http://groups.google.com/group/comp.lang.lisp/msg/9a06d7959cd6c941
======
tgflynn
Much of this seems to have more to do with the way Lisp environments work than
with the language itself.

Couldn't the same sort of thing be done with any language that can be
interpreted or incrementally compiled or is there something fundamentally
different about Lisp that makes this possible ?

For example could Python be used this way ? I usually use a traditional
edit/run development cycle with Python programs but I'd be curious if anyone
finds other development modes more productive.

~~~
Zak
Yes, the same techniques can be used to varying degrees in any language with a
decent REPL.

Why do you use an edit/run development cycle with Python? Coming from a Lisp
background, interacting with a running program through a REPL seems to have no
disadvantages and does a lot to make debugging and interactive testing easy.
Is it a lack of tool support, or did it just not seem like something that
would benefit you to try?

~~~
tgflynn
I guess it's mostly a matter of taking the path of least resistance. I don't
have to learn anything new to use an edit/run cycle and I haven't taken the
time to figure out how to do it differently because it hasn't been clear what
the advantages might be. For example it's not clear to me what you need to do
to make sure the right modules get reloaded if you're working interactively.

Right now I'm mostly using Python for offline data analysis scripts that read
data files and either dump output or display plots graphically (using
matplotlib). I guess it could be useful to be able to look at data structures
interactively.

~~~
phren0logy
I would really recommend checking out iPython. It's easy to have it execute an
existing script, and it plays well with matplotlib. I would use a script to
load all my data into it, then use it interactively like matlab. If I found
something I liked, I would add it to my script. I found it be a really
enjoyable way to work.

