5 ms·
I don't see how this debugger is visual, but anyway it's cool to see that jupyter finally has a debugger. This is what I would call a visual debugging experien
by Gehinnn 7y ago
I don't see how this debugger is visual, but anyway it's cool to see that jupyter finally has a debugger.
This is what I would call a visual debugging experience:
https://github.com/hediet/vscode-debug-visualizer/blob/master/extension/README.md https://github.com/hediet/vscode-debug-visualizer/blob/maste...
(Disclaimer: I'm the author of that extension)
- idoby 7y agoThis is very cool and seems useful. I've been meaning to do something like this for years. Thanks!
- Gehinnn 7y agoAnyone here interested in helping me improving the Python experience of this VS Code extension? I would be very happy if you could reach out on Twitter (@hediet_dev) ;)
- serf 7y agoas someone who saw the demo on the github page, and wanted to use it for Python, this comment throws up some red flags. What needs to be improved for Python use?
- Gehinnn 7y agoAs of now, before you can visualize your data structure, you must convert it to a compatible json string (like demonstrated in [1]). This json must match the schema of the visualizer you want to use. For TypeScript/JavaScript however, my extension injects some helpers that convert some common data structures (like number arrays) automatically to appropriate JSON. It requires a deep understanding of the target programming language to see how such helpers could be injected. I don't have this unterstanding for Python and would be very happy if someone who really knows Python could help me out. [1] https://github.com/hediet/vscode-debug-visualizer/blob/master/demos/python/graph.py#L26 https://github.com/hediet/vscode-debug-visualizer/blob/maste...
- ricklamers 7y agoThe debugging experience in notebooks before this was through a fully text based PDB input field that would allow you to control code flow with 'c' or other characters. This new extension gives a graphical user interface that's similar to how debugging works in i.e. VS Code or PyCharm. I guess that's visual about it.
- throwqwerty 7y agocool extension but literally every other use of the term visual debugger refers to a graphical interface for something like gdb (where you have to manually type in commands to set break points, step, continue, etc). so I don't think it makes sense to claim that this is not a visual debugger simply because you've decided to redefine the term to suit your needs (publicizing your extension).
- Gehinnn 7y agoI guess, growing up with Delphi IDE, Visual Studio, Browser Dev Tools and finally Visual Studio Code, all calling their "visual debugger" just a "debugger", I got used to debuggers being "visual" by default. As Jupyter has very powerful visualizations, I initially thought they somehow integrated their visualizations into the debugger, just to see that it's an ordinary debugger every modern IDE has. I know a debugger and it's UI is a crazy complicated beast, but I would expect any modern programming language to have such a debugger. Just because there are text-based browser like lynx, modern browsers shouldn't start calling their products "visual browser", but I get your point. Sorry for publicizing my extension here. It's free and open source, works with Python and might help a lot of people. According to github insights, traffic decreases whenever I don't publicize it somewhere.
- lonelappde 7y agoYou're not wrong, but Jupyter is terrible for everything about programming except in-document HTML/SVG visualizations of expressions (no support for unit testing, laggy Ui response to user input, broken Undo/Redo that throws away data, buggy browser based text editing), yet that one thing is worth all the suffering, so we'll take any improvement we can get. I don't understand why VisualStudio doesn't have LightTable like expression playground yet, but until it does, Jupyter is what we have -- a fancy REPL and document publishing format being abused as an IDE.
- ken 7y agoI see two camps here. Microsoft has been calling anything with a GUI "visual" for a few decades (Basic, Studio, C++, FoxPro, ...), so people from industry often use that definition. For people from academia, "visual" has a somewhat different meaning. Thus, people in one camp see this as the standard name for the feature, and people in the other camp view it as misleading, and a continued diluting of the word in a way which trivializes their research. After a decade of hearing "oh, visual programming, you mean like Visual C++?", I've learned to avoid the word entirely. It's a loaded term. Every common word that is used as a popular brand name has this problem. I'm getting flashbacks to the 80's/90's and trying to explain my home computer to IBM PC people. "Do you have Windows?" "Well, it's an Apple. There are windows on the screen but it's not Microsoft Windows." "If you've got windows on the screen you can drag around with a mouse, that's Microsoft Windows."
- tgv 7y agoLooks great. I'm going to give it a try.