Should Jupyter Notebooks go away?
Recently, there has been a lot of discussion on whether the hype around Jupyter Notebooks is deserved.
Critics say that Notebooks are bad for software development. They actually encourage a lot of bad practices and confuse people who are learning to program. This is a fair criticism, and I mostly agree. (I recommend watching the talk, “I don’t like notebooks.” to hear some common criticisms).
The dominant counter argument I hear is–
The interactivity offered by Notebooks is a “net win”. New programmers can execute small bits of code and get instant feedback. Old programmers can prototype code more flexibly. Scientists can explore data freely.
While all these things are true, I think we’re missing the biggest “win”.
I am constantly surprised by the diversity of Jupyter’s users. I’ve met Jovyans from all different backgrounds: psychology, kinesiology, sociology, journalism, political science, engineering, chemistry, physics, biology, economics, medicine, aviation, … the list goes on. What is it about Notebooks that attracts such a general audience?
I believe it’s because Jupyter Notebooks innovate how we communicate. They use a familiar interface—a word-processor document—and add to it interactive computation and visualization. If you’re not a programmer, “reading” a Jupyter Notebook doesn’t feel too foreign to you. The rendered markdown cells look like regular text. Math equations look like your college textbooks. The inline plots make the document look like science or news articles. Sure—there’s some code in there. But, even the code is almost digestable. (Thanks, Python!)
Jupyter Notebooks can do many things that other literary mediums cannot. They seamlessly integrate more rich elements with classic text—weaving inline interactive plots, maps, data explorers, tables, dashboards, etc. Authors are no longer limited to the static nature of classic word processors; they can leverage interactivity and flexibility that’s only possible in computational documents. This allows authors to raise their level of communication to the height of innovation that notebooks offer.
This is why we need Jupyter Notebooks. They expand the world’s communication toolkit. I agree that Jupyter Notebooks may be not an ideal tool for software developers, but they are an innovative tool for story tellers.