6 ms·
Lately, using Jupyter notebooks. It's a paradigm change, and pretty close to what I would imagine Donald Knuth had in mind with literate programming. Just for e
by tchaffee 6y ago
Lately, using Jupyter notebooks. It's a paradigm change, and pretty close to what I would imagine Donald Knuth had in mind with literate programming. Just for example, being able to see the shape of variables and having that output stay there between coding sessions is a huge time saver. Add being able to plot data and using other visual tools right inside your code and well, I could go on and on. Just try it. It's like a REPL but with memory.
- shostack 6y agoHow do you integrate it into your workflow? Is your program scattered across blocks in a notebook or is it easy to pull everything together once it works the way you want? Also, thoughts on jupyter vs co ok colaboratory?
- rovr138 6y agoNot who you asked, but I use it to test things out. You can export the notebook to code. You can comment out code or refactor then on your IDE or just copy & paste once it's working into a function/method. I also know some people that just need to run things every now and then and they just launch the notebook and run it.
- tchaffee 6y agoLate response, but in case you are still looking I don't think I have enough experience just yet to talk about my workflow. For the moment, I'm mostly fine with just running my entire notebook. And yes, my program is "scattered" across cells in a notebook. And that's useful. The blocks are the small units I would want to debug, or to document with markdown above the block. However, you might look to Jeremy Howard of fastai [1] fame for some direction. He apparently built the entire fastai library using notebooks and nbdev [2] which allows you to "add #export flags to the cells that define the functions you want to include in your python modules." I have tried out nbdev in my free time, and it's pretty cool. [1] https://www.fast.ai/ https://www.fast.ai/ [2] https://github.com/fastai/nbdev https://github.com/fastai/nbdev