Workspace-based programming environments have always struggled. When I use Jupyter I rerun the whole book pretty frequently. If the book takes 30 seconds to run it is a big annoyance but saves time relative to the randomly irreproducible problems I see other people have. If the book takes 3 hours to run it is a different story.
What if, in addition to the "book", you had a visual representation of the environment? Further, what if you had a function application visualization?
Say you start with
with open(your_csv_here) as my_csv:
... some actions
In the function application viz you'd see something like your_csv_here
|
open as
|
my_csv
In the environment visualization you'd see two variables your_csv_here
my_csv
Ideally, you'd be able to grab either of those in the "book"'s linear representation of code blocks using auto-complete.---
When I've played with data sets in Pandas DFs, for example, having some awareness of my environment and the available states of data -- and how that data has been mutated -- would be extremely helpful.
---
I've taken the view that a Jupyter notebook or similar environment represents a filter for one or more streams of data. Ideally, you need to be able to quickly visualize the execution environment and previous actions/filters applied to your data streams. I'll admit, this does nothing for working with logic (except that you'd be able to inspect inputs and outputs pretty quickly).