I Like Notebooks
Jeremy Howard4 HN recommenders · 2020–2025
55K views · talk · evergreen · Uploaded 2020-10-29
Jeremy Howard defends Jupyter notebooks as a serious development environment, especially when paired with nbdev. He responds directly to Joel Grus's talk about why he dislikes notebooks, and contrasts REPL-style and notebook-style work.
Whenever notebooks get criticized, HN commenters point to it as the standard rebuttal from a prominent practitioner.
38:47RailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
19:09A Better Default Colormap for Matplotlib | SciPy 2015 | Nathaniel Smith and Stéfan van der Walt
Enthought
40:20"Testing Distributed Systems w/ Deterministic Simulation" by Will Wilson
Strange Loop Conference
1:03:55🚀 TDD, Where Did It All Go Wrong (Ian Cooper)
DevTernity Conference
54:20Bret Victor - Inventing on Principle
Rui Oliveira
32:56Bret Victor The Future of Programming
Joey Reid
58:51DON'T PANIC — Hans Rosling showing the facts about population
Gapminder Foundation
1:02:26Solving Problems the Clojure Way - Rafal Dittwald
Clojure/north
8 comments from Hacker News
If you haven't yet: I think both talks are very worth watching: I don't like notebooks ( [LINK] ) by Joel Grus I like notebooks ( [VIDEO] ) 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.
afaiu the talk was removed from or not put on the website of the conference, Jeremy recorded a new version: [VIDEO]
[VIDEO] is the specific section that seems to have been judged as "unkind". To me, that seems like a massive over-reaction or massively uncharitable interpretation of the talk focused on a single point of disagreement, which was done quite respectfully from what I watched.
No that's not the reason - or at least, not for everyone. I created nbdev. I've been coding for over 30 years, and spent over 10 years using R and S-PLUS. I've used Delphi, Visual Studio, Emacs, vim, vscode, and many other editors and IDEs, including many with integrated line-oriented REPLs. There's a big difference between a line-oriented plain text REPL, and a Mathematica/Jupyter-style notebook REPL, especially when you want to mix and match your charts, image outputs, rich table outputs, interactive JS outputs, and so forth. Also, for experimentation, where you want to go back and change things to see what happens (e.g. very common in data science) I find it much easier and more understandable in a notebook. I have a video where I show the difference between these styles of working in some detail: [VIDEO]
I strongly recommend Jeremy Howard's (founder of fast.ai) recent talk - "I Like Notebooks" ( [VIDEO] ). He addresses some of the concerns/critiques about jupyter notebooks.
A from-scratch rewrite of nbdev was released today -- details on what's new are in the launch post: [LINK] Let me know if you have any questions or comments -- I'm the lead dev on the project. (If you're in the "I don't like notebooks" camp, please watch this first: [VIDEO] )
That video cannot be seen without watching Jeremy Howard's rebuttal: I Like Notebooks. I also believe this was the video that got him kicked out of a conference(?) because it was too confrontational? Which was just ugly for a guy who clearly loves being an educator. [0] [VIDEO]
Another successful example of literate programming is fastHTML, and probably most of the code written at fast.ai and answer.ai. [LINK] Here's Jeremy Howard explaining why he loves doing everything in notebooks: [VIDEO]