4 ms·
To my surprise, a lot of people don't know there exist things called debuggers. Debuggers are tools that let you step through code, see variables, set break poi
by Maro 16y ago
To my surprise, a lot of people don't know there exist things called debuggers. Debuggers are tools that let you step through code, see variables, set break points. Debuggers are common for compiled languages, less common for scripting languages. For example, you can debug Java code from most IDEs, or C++/C# code from Xcode or Visual Studio.
http://en.wikipedia.org/wiki/Debugger http://en.wikipedia.org/wiki/Debugger
- joubert 16y agoAt the ILC 2009, Bill Lewis showed his Omniscient Debugger, which is a proof-of-concept debugger that allows you to navigate backwards in time to find a problem. http://www.lambdacs.com/debugger/ http://www.lambdacs.com/debugger/
- staticshock 16y agogdb has had reversible debugging since 7.0: http://en.wikipedia.org/wiki/GNU_Debugger#Features http://en.wikipedia.org/wiki/GNU_Debugger#Features
- masklinn 16y agoAnd OCaml has had a time-traveling debugger since forever.
- masklinn 16y ago> Debuggers are common for compiled languages, less common for scripting languages. First, if your bourne shell scripts have grown so much you need a debugger, you might want to consider there are other issues than the lack of a debugger for the bourne shell. Second, there are debuggers for bash, zsh and ksh. And probably others many other shells.
- wwortiz 16y agoI think scripting language here is more in reference to python/ruby/perl which are sometimes used for scripting and get grouped into that category
- masklinn 16y ago> I think scripting language here is more in reference to python/ruby/perl Given all of them have multiple debuggers, I thought that the original comment couldn't imply that as that would make it entirely and irredeemably wrong. Also, screw the qualifier "scripting language" for full-fledged general-purpose programming languages. Erlang is sometimes used for scripting, does that make it "a scripting language"?
- pgbovine 16y agohi (i'm the guy who created this app) ... the purpose of this app is to be an educational tool (e.g., visualizing how data structures change over time), so it's not really filling the same role as a symbolic debugger.
- sigzero 16y agoI just walked through a simple sort routine and that is very cool. Thanks!
- jayliew 16y agowhen I first saw this, I was thinking to myself "great, someone threw PDB into a web app" and was going to write it off until I saw that on every step of the way, you actually also visually output the contents of all the variables. In PDB, you have to manually know what's there and explicitly type in the command to inspect it. People learning how to program don't know where all the knobs are, much less which one to push. There's power to such simplicity, and I immediately forwarded it to people I know are new learning programming in Python right now. Good stuff, keep it up!
- tjpick 16y agopylons web framework has something akin to PDB in a web app
- Goladus 16y agoWhat just occurred to me is that I've never really needed a debugger using Python. Maybe it's just the problems I've been solving with it, but the runtime reflection capabilities of python help me catch most of the sort of bugs that I'd use a debugger for in C. (Which happen far less in Python anyway since I spend so much less time manipulating variables.) So I think that's probably the reason why they're less common. With scripting languages it takes a lot longer to reach the point where you start searching for tools to make your life less painful.
- brg 16y agoDebuggers aren't necessary to get someone excited about programming. This tool definitely has its place. My niece recently asked me how to learn to program. Since she not extremely tech literate, I gave her a pointer to Zed Shaw's book. We had two sessions together to get her up to speed. These included going through the pre-reqs of learning to to use the command line, creating and editing .py files, the differences between the interactive interpretor and executing scripts, how to read a traceback. She stuck with it, but it took away from some of her interest. If I had to start again, I would definitely point her to this app.