I don't like notebooks.- Joel Grus (Allen Institute for Artificial Intelligence)
Why Hacker News recommends it
It is the go-to funny, irreverent critique of notebooks, linked whenever HN debates notebooks versus testable code.
What it is
Joel Grus's JupyterCon talk explaining why he dislikes Jupyter notebooks. He covers hidden state, trouble with reproducibility and testing, and how notebooks frustrate teaching. He shows his preferred workflow and what Jupyter could change.
Recommended by 6 HN commenters across 6 different months, 2018 to 2025.
What Hacker News said
Strong rec tcpekin · 2018-10 · on “Why Jupyter is data scientists’ computational notebook of choice”
Here they are - they're definitely irreverent, but I find myself strongly agreeing with everything he says. [LINK] [this video]
Strong rec kevsim · 2019-04 · on “How to separate your data from your code”
Jupyter notebooks are really abysmal when it comes to best engineering practices. There's an amazing talk called "I don't like notebooks" by Joel Grus at last years JupyterCon [0]. I highly recommend it. [0] [this video]
Recommends tosh · 2020-10 · on “I Violated a Code of Conduct”
If you haven't yet: I think both talks are very worth watching: I don't like notebooks ( [this video] ) by Joel Grus I like notebooks ( [LINK] ) by Jeremy Howard notebooks are a very interesting medium and they have both shortcomings as well as things they are great at and neither were totally obvious to me.
Recommends softwaredoug · 2021-06 · on “Ask HN: How do you run long computations without interruption?”
Get extensive code out of notebooks into testable libraries. Confirm it works before running a big computation. We try to keep our notebooks slim and factor anything complex into a Python library. We can experiment with this libraries implementation, write unit tests on smaller data sets to confirm it works, before doing a bigger experiment. We can also deploy the library to prod and ensure users get the exact same thing we experimented with. I would recommend the talk “I don’t like notebooks” [this video] (There’s also the alternative nbdev that creates a full software engineering and experimentation setup in 100% notebooks. Not something I particularly like, but it might be another option.)
Recommends carreau · 2022-01 · on “IPython 8.0”
First, yes, this is a common question. IPython does not try to deal with that, it's just the executing engine. Notebooks, do not have to be stored in ipynb form, I would suggest to look at [LINK] , and notebook UI is inherently not design for multi-file and application developpement. So training humans will always be necessary. Technically Jupyter Notebook does not even care that notebooks are files, you could save then using say postgres ( [LINK] ) , and even sync content between notebooks. I'm not too well informed anymore on this particular topic, but there are other folks at [LINK] that might be more aware, you can also ask on discourse.jupyter.org, I'm pretty sure you can find threads o
Recommends lelandbatey · 2024-06 · on “Notebooks Are McDonalds of Code”
REPL stands for Read–eval–print loop [LINK] A REPL, by its name, is a very narrow version of the broader paradigm of interactive computer programming environments. But Notebooks are not REPLs, unless you use REPL to mean "interactive programming environment" and not REPL. Notebooks are much broader than a REPL! In a notebook, you can go back and edit and run individual lines of the notebook without re-running the whole notebook from the start and without re-computing everything that depends on what you just edited. Behavior like this makes it super hard to track the actual state, and super easy to lose track of how things are how they are. That's pretty terrible! The parent article links thi
Cites EForEndeavour · 2019-03 · on “Xkcd-Style Plots in Matplotlib (2012)”
You're not the only one. Here are slides from a talk that Joel Grus gave at JupyterCon 2018 titled "I hate Jupyter Notebooks": [LINK] Video of talk: [this video]
Cites 3JPLW · 2020-08 · on “Pluto.jl – a reactive, lightweight, simple notebook”
It completely fixes a huge number of the gripes in the JupyterCon talk I don't like notebooks by Joel Grus. The primary complaint there is that notebooks have a disconnect between the state of the program and the display of the cells. By using a completely reactive mode the state is no longer hidden. It's more akin to a spreadsheet than a notebook. A number of other complaints are completely circumvented by using a file format that's simply a pure Julia file with clever comments. Video: [this video] Slides: [LINK] Previous discussion: [LINK]