Notebooks where all the rage in the 90's. I spent quite a few years (~15) with Mathematica and its "notebook". Of course, Maple, Mathcad and Matlab all had the same thing. At some point, I wanted to write more readable and modular code that others could use (and that I could reuse) so I switched to using and IDE for python, Java and C. My workflow enables exploratory data analysis as well as algorithm development. Th…
IPython developer here. A lot of the use cases for notebooks are where you're not creating a software product. It's useful where the product you're really after is a scientific result, some plots, or the like, along with a description of how you got that. And where the product is a presentation, a demo, or documentation.
Of course, as you're doing that kind of thing, code that starts out in a notebook often becomes something you want to reuse, and you therefore move it out to an importable module. We are interested in ways to make that process more fluid.