5 ms·
IPython's interactive shell is way more convenient than using the default python command line when trying things out. But I just don't get why one would need th
by cosmic_ape 8y ago
IPython's interactive shell is way more convenient than using the default python command line when trying things out. But I just don't get why one would need the whole Jupiter thing on top of that, except for maybe making presentations.
One thing that I think is missing from IPython though is the ability to save a given state of the interpreter, with all the variables in it. So that one could preform a time consuming data loading/parsing once, and restart from that point if some variables get messed up. Jupiter cann't do that either, afaik.
- mistrial9 8y agoyou get a 'narrative' with explanatory text, charting and code together, interactively building until you get something you like, as a single document. That document can then can be exported to HTML or pdf to share with others.
- mkl 8y agoAnything graphical or interactive: maths, science, data, web, machine learning, etc. Interactive includes interactive widgets, but also almost any kind of exploratory programming. Even stuff that's technically plain text is easier when you can display tables and other formatted text. E.g. I have a tiny little notebook that generates LaTeX code for a normal distribution table; it's a notebook because then I can display an HTML preview in a few lines of code. Jupyter can't save interpreter state - that seems essentially impossible without adding state-saving and -loading code to every single library and dependency.
- cosmic_ape 8y ago>>Anything graphical or interactive but ipython is already well integrated with matplotlib in the --pylab mode, and is pretty interactive. Thats how I use it. re:saving state - its technically a nightmare, I agree. I though it might be possible at OS level - just dumping the whole process. There still would be issues of what to do with open files, network connections, etc, but somehow it seems that in many use cases that would be enough.
- mkl 8y agoYeah, I used matplotlib like that for years (at times all day every day), but the notebook interface makes it much easier to keep track of lots of figures and where they actually came from, so I switched to that 4-5 years ago. The figures are also much more lasting, as they save in the notebook right next to the code, so it's a lot easier to go back and make sense of old work, especially with markdown cells documenting things right there too. I think even saving state by dumping the whole process is unfeasible. What happens if some dependency gets upgraded, e.g. for a critical security hole? The problems seem unavoidable, so I think we're stuck.
- xapata 8y agoEver wish your laptop had 128 cores and 4TB RAM? With Jupyter, it can! Well, almost. Run the Jupyter server on some monster you rent on EC2, then laugh when someone says they have a big data problem.
- tomrod 8y agoCell based code testing. For transplants from Matlab or Mathematica it's wonderful.
- targafarian 8y agoI have to say that Matlab folks might be happier transitioning over to Spyder; Jupyter is much more like Mathematica, though. Those are very different interfaces (and each has its strengths / use cases).
- tomrod 8y agoAgreed. Spyder is decent. I'm a huge fan of JupyterLab these days.