Some make notebooks ‘reactive’, so that code re-executes whenever software variables change others focus on collaboration and version control. “You write stuff, you keep old crusty code behind, and it’s hard to kind of figure out which cells to execute in which order, because you were trying different things.”īut a growing suite of platforms and tools aims to smooth these rough edges. “Notebooks are messy,” says Anita Sarma, a computer scientist at Oregon State University in Corvallis who studies human–computer interaction. in 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR) 507–517 IEEE, 2019). A 2019 study found that just 24% of 863,878 publicly available Jupyter notebooks on GitHub could be successfully re-executed, and only 4% produced the same results ( J. And they are difficult to share, collaborate on and reproduce. And whether written using Jupyter, Mathematica, RStudio or any other platform, researchers can use them for iterative data exploration, communication, teaching and more.īut computational notebooks can also be confusing and foster poor coding practices. The open-source tool, now known as the Jupyter Notebook, has become an exceedingly popular piece of data-science kit, with millions of notebooks deposited to the GitHub code-sharing site.Ĭomputational notebooks combine code, results, text and images in a single document, yielding what Stephen Wolfram, creator of the Mathematica software package, has called a “computational essay”. This year marks ten years since the launch of the IPython Notebook.