3 ms·
In addition to the comprehensive answers of reikonomusha and vindarel, I'll give you some specific things you can't do: Jupyter notebook: you can't run it as n
by throw10920 5y ago
In addition to the comprehensive answers of reikonomusha and vindarel, I'll give you some specific things you can't do:
Jupyter notebook: you can't run it as normal code - that is, you can't import your notebook from another file. You also can't evaluate arbitrary regions of the notebook (it's cells, the whole thing, or nothing), or nested sub-expressions. You can't evaluate code in parallel - if you have a cell calling a function foo() in a loop, and you try to redefine foo() in another cell - impossible in Juypter, trivial in CL.
iPython + autoreload: you also can't redefine a foo() in a file when it's being called in a loop, docs state "reloads modules automatically before entering the execution of code typed at the IPython prompt". You don't get any sort of interactive debug-and-fix-up when you encounter an error. And so on.
- breuleux 5y agoFor the record, I have written a reloading library for Python called jurigged[0] that works on normal Python code and can indeed replace foo() when it's being called in a loop. There is also a way to do debug-and-fix-up, but only if you specify restart points in advance, unfortunately. It is probably still a good deal more limited to what can be done with CL, there are no miracles here, just saying the gap may not be that big. [0] https://github.com/breuleux/jurigged https://github.com/breuleux/jurigged