Interesting, I am an old school developers so I come from the opposite end. I am beginning to see some of the advantages of Notebooks, even if I am skeptical.

I think the sweet spot I have found with Notebooks is when I am mainly exploring a concept. Maybe I need graphs, math equations etc to go with the code to understand what is going on.

I see it more as a learning or documentation tool.

My favorite development is with a good text editor (TextMate) and a REPL environment. I use Julia and the REPL there is awesome and it syncs with all my code changes in my editor.

If you want more flexibility with Notebooks you may want to check out some alternatives. E.g. allows you to use multiple programming languages even shell code. And the notebooks can derive from each other. Hence you can put code in one notebook which you reuse in another.

Another HUGE advantage with is that they store all the correct versions in a container, so you notebook will never stop running. It stores the version of every library and programming language you used. All dependencies.

And if you ever use Julia, the Pluto is a really cool notebook. In Pluto you don't have to evaluate cells in order. They automatically depend on each other as needed and cells will automatically be re-evaluated as needed. It is actually really mind blowing if you see it in action:

Written by

Geek dad, living in Oslo, Norway with passion for UX, Julia programming, science, teaching, reading and writing.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store