Notebook interface
A notebook interface (also called a computational notebook) is a virtual notebook environment used for literate programming.[1] Some notebooks are WYSIWYG environments including executable calculations embedded in formatted documents; others separate calculations and text into separate sections.
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]
History
The notebook interface was first introduced in 1986 in Mathcad, which supported numerical and limited symbolic calculations.[3] Wolfram Mathematica 1.0 on the Macintosh included a notebook interface in 1988.[4][5][6] Also in 1988, Xerox PARC's Tioga, the structured document editor for Cedar,[7] supported live numerical and symbolic formulas in documents.[8] Maple 5.2 for the Macintosh introduced notebooks (called "worksheets") in 1992.[9] Macsyma 2.0 introduced notebooks in 1995.[10]
As the notebook interface increased in popularity over the next two decades, notebooks for various computational back ends ("kernels") have been introduced, including MATLAB, Python, Julia, Scala, SQL, and others.[11][12]
Use
Notebooks are traditionally used in the sciences as electronic lab notebooks to document research procedures, data, calculations, and findings. Notebooks track methodology to make it easier to reproduce results and calculations with different data sets.[11][12] In education, the notebook interface provides a digital learning environment, particularly for the teaching of computational thinking.[13][14] Their utility for combining text with code makes them unique in the realm of education. Digital notebooks are sometimes used for presentations as an alternative to PowerPoint and other presentation software, as they allow for the execution of code inside the notebook environment.[15][16] Due to their ability to display data visually and retrieve data from different sources by modifying code, notebooks are also entering the realm of business intelligence software.[11][17][18][19]
Notable examples
Example of projects or products of notebooks:
Free/open-source notebooks
- Apache Zeppelin — Apache License 2.0[20]
- Apache Spark Notebook[21] — Apache License 2.0
- IPython — BSD
- Jupyter Notebook (formerly IPython) — Modified BSD License (shared copyright model)[22]
- Google Colaboratory — No setup Jupyter notebook environment — Free_software[23]
- Amazon SageMaker --- ML Focused Jupyter notebook environment --- Free Basic Access
- JupyterLab — Revised BSD License[24]
- Mozilla Iodide — MPL 2.0; development in alpha stage[25]
- R Markdown[26] — GPLv3[27]
- SageMath — GPLv3
- Wolfram Cloud[28]
- Org-mode on emacs (with the built-in babel addon) — GPL
- Xamarin Workbooks for DotNet — MIT
- Polynote Apache License 2.0
- GNU TeXmacs (a document processor which can act as notebook interface as well) — GPLv3[29]
Partial copyleft
- SMath Studio — Freeware, not libre: licensed under Creative Commons Attribution-No Derivatives
Early titles
- Mathcad (1986)
- Wolfram Mathematica notebook (1988)
References
- Standage, Daniel (2015-03-13). "Literate programming, RStudio, and IPython Notebook". BioWize. Wordpress. Retrieved 2016-12-01.
- Jupyter, Project. "JupyterLab is Ready for Users". Retrieved 30 May 2018.
- N. Kajler, N. Soiffer, "A Survey of User Interfaces for Computer Algebra Systems", Journal of Symbolic Computation 25:2:127-159 (February 1998), doi:10.1006/jsco.1997.0170
- The ReDiscovered Future (2016-04-04), Macintosh + Mathematica = Infinity - April 1989, retrieved 2016-11-23
- Hayes, Brian (1990). "Thoughts on Mathematica" (PDF). PIXEL. January/February 1990: 28–35.
- "Launching Wolfram Player for iOS—Wolfram". Retrieved 2016-11-23.
- Butler W. Lampson, "Personal Distributed Computing: The Alto and Ethernet Software", A history of personal workstations, 1988, ISBN 0201112590, p. 318
- Dennis Arnon, Richard Beach, Kevin McIsaac, "CaminoReal: An Interactive Mathematical Notebook", in J.C. van Vliet, ed., Document Manipulation and Typography, Proceedings of the International Conference on Electronic Publishing, Document Manipulation and Typography, Nice, April 20-22, 1988, ISBN 0521362946, p. 2
- "Home : Support : Online Help : System : Information : Updates : updates/v52url=https://www.maplesoft.com/support/help/Maple/view.aspx?path=updates/v52". Missing or empty
|url=
(help) - "Macsyma 2.0", Design News, April 24, 1995
- Osipov, Matt (2016-05-04). "The Rise of Data Science Notebooks". Datanami. Tabor Communications. Retrieved 2016-12-20.
- "The IPython notebook: a historical retrospective". blog.fperez.org. Retrieved 2016-11-23.
- Barr, Valerie; Stephenson, Chris (2011). "Bringing computational thinking to K-12: what is involved and what is the role of the computer science education community?".
- "How to Teach Computational Thinking—Stephen Wolfram". blog.stephenwolfram.com. Retrieved 2016-11-23.
- Databricks (2015-07-06), Spark Summit 2015 demo: Creating an end-to-end machine learning data pipeline with Databricks, retrieved 2016-11-23
- Frazier, Cat (2018-04-17). "Announcing Wolfram Presenter Tools". Retrieved 2018-11-27.
- Andrews, Ian (2016-03-30). "Delivering information in context". O'Reilly Media. Retrieved 2016-11-23.
- "jupyter-incubator/dashboards". GitHub. Retrieved 2016-11-23.
- Sharma, Shad. "Business Intelligence with Mathematica and CDF". Retrieved 2018-11-27.
- "Zeppelin". Apache. Retrieved 2018-12-20.
- "Spark Notebook". Archived from the original on 2018-10-01. Retrieved 2018-09-30.
- Jupyter Development Team (2015-04-22). "Licensing terms". Jupyter Notebook. GitHub. Retrieved 2018-12-20.
- "a Jupyter notebook environment that requires no setup to use". Google. Retrieved 2020-12-29.
- Project Jupyter Contributors (2018-07-19). "LICENSE". JupyterLab. Retrieved 2018-12-20.
- "Iodide". Retrieved 2018-12-20.
- "R Markdown". R Studio. Retrieved 2018-09-30.
- "Licene". Readme. GitHub. 2018-12-07. Retrieved 2018-12-20.
- Wolfram, Stephen. "The New World of Notebook Publishing—Stephen Wolfram Writings". writings.stephenwolfram.com. Retrieved 1 February 2021.
- "Welcome to GNU TeXmacs". Retrieved 2020-11-28.
- "Deepnote". deepnote.com. Deepnote, Inc. Retrieved 2020-12-30.
- "Carbide Alpha | Buggy But Live!". Try Carbide. Retrieved 2018-12-20.
- "Databricks Unified Analytics Platform". San Francisco, CA: Databricks Inc. 2018. Retrieved 2018-12-20.
- "Datalore". JetBrains s.r.o. Retrieved 2019-08-08.
- "Nextjournal". nextjournal.com. Nextjournal GmbH. 2018. Retrieved 2018-12-20.
- "Observable". Observable HQ. Retrieved 2018-09-30.
- Observable (2018-12-15). "Repositories". San Francisco, California: Observable via GitHub. Retrieved 2018-09-30.
- "Terms of Service". Observable. 2018. Retrieved 2018-01-12.
- "WolframAlpha Notebook Edition". Retrieved 2021-01-12.