4 ms·
The benefit of Jupyter notebooks really is about being able to share chunks of code and write narrative around it. It isn’t really aiming to replace a dev envi
by bransonf 7y ago
The benefit of Jupyter notebooks really is about being able to share chunks of code and write narrative around it.
It isn’t really aiming to replace a dev environment like VSCode.
We’re seeing a rise of notebooks in particular because they encourage writing a lot of plain text around your code, and that’s really good both for teaching, and promoting good documentation skills for learners.
- hos234 7y ago>share chunks of code and write narrative around it. >encourage writing a lot of plain text around your code Is this targeted at non techies? Teachers? Can someone provide some good example of this? Not having used it much trying to understand what the advantages are over good quality documentation/tutorial pages on say msdn.
- someguy101010 7y agoThis explains the advantages very well imo https://en.wikipedia.org/wiki/Literate_programming#Contrast_with_documentation_generation https://en.wikipedia.org/wiki/Literate_programming#Contrast_...
- nek4life 7y agoIt solves the problem of scientists that have done experiments, but have no way to share and have their experiments and have them validated using the same procedures and programs. At least that's the way I understand it. You can even have a notebook run in a cluster. http://ipython.org/ipython-doc/dev/parallel/ http://ipython.org/ipython-doc/dev/parallel/
- Avalaxy 7y ago> You can even have a notebook run in a cluster. Well, that's exactly what Databricks does.
- unoti 7y ago> Can someone provide some good example of this? Not having used it much trying to understand what the advantages are... Sure! Here are some ways I use notebooks: Imagine any scenario in which you'd rather make a video to demonstrate how something works. For a lot of those cases, a notebook is a great way to show how the code works and how it all comes together. Another set of use cases is you've done some research, need to call a few api's, post process the results, and share that with your team or have it ready for later to do something similar. You could think of this as a "Super Postman". For example, you need to run some api's in a loop, filter the results, and accumulate some things and print totals at the end. Another use case is you're troubleshooting an issue, and want to keep notes of what you've tried, what the results were, and be ready to go back and run things again.
- BeetleB 7y agoJupyter came from the scientific community (originally the IPython Notebook - IPython itself was made by a physics grad student). The use case is basically a scientific journal. You collect data. Analyze it. Make plots. Write notes (e.g. with equations, or diagrams). All in one place. Then you can share the notebook with anyone else. If they have similar data (in the same format), they can execute the notebook on their data and get the plots all in one place. It's great for data oriented work. It was never meant as an IDE replacement, nor as a general purpose development environment.
- reportgunner 7y agoHonest question, does anyone ever reuse the notebooks they receive with their data or is it just a matter of you could if you wanted but we don't ?
- miemo 7y agoThat was my first though :) Can't imagine trying to pump my data into someone elses pipeline and crossing my fingers for results!
- na85 7y agoThe whole point is reproducibility. If you don't understand someone else's pipeline then you can't hope to reproduce their results.
- BeetleB 7y agoYes. In a previous job I had set up a notebook to analyze some of the models our team produced - it was essentially a Q/A notebook that generated data from our models, algorithmically looked for unphysicalities in our models, and plotted any it found. The rest of my team used it for the models they were working on. The alternative/old way was just too painful (lots of manual steps). But although reuse by others is a touted feature, it's not really that important. It's incredibly useful for one's own workflow. Think of the convoluted Excel sheets people often have at engineering companies. They get new data, copy and paste it into Excel, and get new plots. This is no different.
- unclesams-uncle 7y agoI do financial data analysis and Jupyter Notebooks allows me to run scripts while explaining my findings/arguments about the data within the same space. It's a convenient way to present both data and narrative to whoever might need to see it. I also like being able to run snippets when writing scripts, at least when it comes to building/testing. I'm more on the data science side than the dev side though, so that's probably why Jupyter Notebooks appeal to me more than other IDEs.
- sdegutis 7y agoThat reminded me of Literate Programming and sure enough the wikipedia article for that on mentions Jupyter.