Notebook interface

Jupyter Notebook, an example of a notebook interface

A notebook interface or computational notebook is a virtual notebook environment used for literate programming, a method of writing computer programs.[1] Some notebooks are WYSIWYG environments including executable calculations embedded in formatted documents; others separate calculations and text into separate sections. Notebooks share some goals and features with spreadsheets and word processors but go beyond their limited data models.

Modular notebooks may connect to a variety of computational back ends, called "kernels". Notebook interfaces are widely used for statistics, data science, machine learning, and computer algebra.[2]

At the notebook core is the idea of literate programming tools which "let you arrange the parts of a program in any order and extract documentation and code from the same source file."[3], the notebook takes this approach to a new level extending it with some graphic functionality and a focus on interactivity. According to Stephen Wolfram: "The idea of a notebook is to have an interactive document that freely mixes code, results, graphics, text and everything else."[4], and according to the Jupyter Project Documentation: "The notebook extends the console-based approach to interactive computing in a qualitatively new direction, providing a web-based application suitable for capturing the whole computation process: developing, documenting, and executing code, as well as communicating the results. The Jupyter notebook combines two components".[5]

  1. ^ Standage, Daniel (2015-03-13). "Literate programming, RStudio, and IPython Notebook". BioWize. Wordpress. Retrieved 2016-12-01.
  2. ^ Jupyter, Project (20 February 2018). "JupyterLab is Ready for Users". Retrieved 30 May 2018.
  3. ^ Ramsey, N. (September 1994). "Literate programming simplified". IEEE Software. 11 (5): 97–105. doi:10.1109/52.311070. ISSN 0740-7459. S2CID 18593796.
  4. ^ Cite error: The named reference :2 was invoked but never defined (see the help page).
  5. ^ "The Jupyter Notebook — Jupyter Notebook 6.2.0 documentation". jupyter-notebook.readthedocs.io. Retrieved 2021-05-03.