Notebook interface: Difference between revisions
No edit summary |
→Free/open-source notebooks: no external links in article body per WP:EL |
||
(126 intermediate revisions by 71 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Programming tool blending code and documents}} |
|||
[[File:IPython-notebook.png|thumb|An example of an [[IPython]] notebook]][[File:Comet2006U7Notebook.png|thumb|An example of a [[Mathematica]] open cloud notebook]] |
|||
[[File:Paws notebook showing how to load wikidata item dictionary.png|thumb|upright|[[Jupyter Notebook]], an example of a notebook interface]] |
|||
A '''Notebook interface''' (also called a '''Computational notebook''' or '''Data science notebook''') is a virtual [[notebook]] environment used for [[literate programming]].<ref>{{cite web |url=https://biowize.wordpress.com/2015/03/13/literate-programming-rstudio-and-ipython-notebook/ |first=Daniel |last=Standage |title=Literate programming, RStudio, and IPython Notebook |work=BioWize |publisher=Wordpress |date=2015-03-13 |accessdate=2016-12-01}}</ref> It pairs the functionality of [[Word processor|word processing]] software with both the [[Shell (computing)|shell]] and [[Kernel (operating system)|kernel]] of that notebook's [[programming language]]. Examples of the notebook interface include the [[Wolfram Mathematica|Mathematica]] notebook, [[Maple (software)|Maple]] worksheet, [[MATLAB]] notebook, [[IPython]]/Jupyter, R Markdown, Apache Zeppelin, [[Apache Spark]], and the [[Databricks]] cloud.<ref name=":0">{{Cite web|url=https://www.datanami.com/2016/05/04/rise-data-science-notebooks/|title=The Rise of Data Science Notebooks|date=2016-05-04|website=Datanami|access-date=2016-11-23}}</ref> |
|||
A '''notebook interface''' or '''computational notebook''' is a virtual [[notebook]] environment used for [[literate programming]], a method of writing [[computer program]]s.<ref>{{cite web |url=https://biowize.wordpress.com/2015/03/13/literate-programming-rstudio-and-ipython-notebook/ |first=Daniel |last=Standage |title=Literate programming, RStudio, and IPython Notebook |work=BioWize |publisher=Wordpress |date=2015-03-13 |access-date=2016-12-01}}</ref> 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 [[spreadsheet]]s and [[word processor]]s 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 [[computational statistics|statistics]], [[data science]], [[machine learning]], and [[computer algebra]].<ref>{{cite web |last1=Jupyter |first1=Project |title=JupyterLab is Ready for Users |date=20 February 2018 |url=https://blog.jupyter.org/jupyterlab-is-ready-for-users-5a6f039b8906 |access-date=30 May 2018}}</ref> |
|||
At the notebook core is the idea of [[Literate programming|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."<ref>{{Cite journal|last=Ramsey|first=N.|date=September 1994|title=Literate programming simplified|url=https://ieeexplore.ieee.org/document/311070|journal=IEEE Software|volume=11|issue=5|pages=97–105|doi=10.1109/52.311070|s2cid=18593796 |issn=0740-7459}}</ref>, the notebook takes this approach to a new level extending it with some graphic functionality and a focus on [[Interactive computing|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."<ref name=":2" />, 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".<ref>{{Cite web|title=The Jupyter Notebook — Jupyter Notebook 6.2.0 documentation|url=https://jupyter-notebook.readthedocs.io/en/stable/notebook.html#introduction|access-date=2021-05-03|website=jupyter-notebook.readthedocs.io}}</ref> |
|||
== History == |
== History == |
||
[[VisiCalc]], the first [[spreadsheet]] for [[personal computer]]s, was published in 1979. Its idea of visual calculations is still widely used today but limited to documents that fit into a [[table (information)|table]]. |
|||
The notebook interface was first introduced in 1988 with the release of [[Wolfram Mathematica|Mathematica]] 1.0 on the [[Macintosh]].<ref>{{Citation|last=The ReDiscovered Future|title=Macintosh + Mathematica = Infinity - April 1989|date=2016-04-04|url=https://www.youtube.com/watch?v=3A5moyhfaQo&feature=youtu.be|accessdate=2016-11-23}}</ref><ref>{{Cite journal|last=Hayes|first=Brian|year=1990|title=Thoughts on Mathematica|url=http://bit-player.org/wp-content/extras/bph-publications/Pixel-1990-01-Hayes-Mathematica.pdf|journal=PIXEL|volume=January/February 1990|pages=28–35|via=}}</ref><ref>{{Cite web|url=http://blog.wolfram.com/2016/11/16/launching-wolfram-player-for-ios/|title=Launching Wolfram Player for iOS—Wolfram|last=|first=|date=|website=|publisher=|access-date=2016-11-23}}</ref> It was followed by [[Maple (software)|Maple]] in 1989 when their first notebook-style [[graphical user interface]] was released with version 4.3 for the [[Macintosh]].<ref>{{Cite web|url=http://web.mit.edu/maple/www/plibrary/mtn/mtn-si94.html|title=MTN Special Issue 1994|website=web.mit.edu|access-date=2016-11-23}}</ref> As the notebook interface increased in popularity over the next two decades, kernels/backends to notebooks for many languages were introduced, including [[MATLAB]], [[Python (programming language)|Python]], [[Julia (programming language)|Julia]], [[Scala (programming language)|Scala]], [[SQL]], and others.<ref name=":0" /><ref name=":1">{{Cite web|url=http://blog.fperez.org/2012/01/ipython-notebook-historical.html|title=The IPython notebook: a historical retrospective|website=blog.fperez.org|access-date=2016-11-23}}</ref> |
|||
Research on WYSIWYG mathematical systems supporting mixed text and calculations with a document metaphor begin to be published in 1987:<ref>Dennis S. Arnon, ed., "Workshop on Environments for Computational Mathematics (July 1987)", ''Computer Graphics'' '''22''':1 (February 1988)</ref> Ron Avitzur's ''Milo'',<ref>Richard J. Fateman, "Computer Systems for the Representation and Manipulation of Mathematical Knowledge", Final report, August 1987 (DTIC [https://apps.dtic.mil/sti/pdfs/ADA193547.pdf AD-A193 547])</ref> William Schelter's ''INFOR'', [[Xerox PARC]]'s ''Tioga''<ref>Butler W. Lampson, "Personal Distributed Computing: The Alto and Ethernet Software", ''A history of personal workstations'', 1988, {{isbn|0201112590}}, p. 318.</ref> and ''CaminoReal''.<ref>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.</ref> |
|||
The earliest commercial system using the document metaphor was ''[[MathCAD]]'', which also came out in 1987.<ref>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}}</ref> ''[[Wolfram Mathematica]]'' 1.0 followed in 1988.<ref>{{Citation|last=The ReDiscovered Future|title=Macintosh + Mathematica = Infinity - April 1989|date=2016-04-04|url=https://www.youtube.com/watch?v=3A5moyhfaQo|access-date=2016-11-23}}</ref><ref>{{Cite journal|last=Hayes|first=Brian|year=1990|title=Thoughts on Mathematica|url=http://bit-player.org/wp-content/extras/bph-publications/Pixel-1990-01-Hayes-Mathematica.pdf|journal=PIXEL|volume=January/February 1990|pages=28–35}}</ref><ref>{{Cite web|url=http://blog.wolfram.com/2016/11/16/launching-wolfram-player-for-ios/|title=Launching Wolfram Player for iOS—Wolfram|date=16 November 2016 |access-date=2016-11-23}}</ref> Later came ''[[Maple (software)|Maple]]'' 5.2 (1992)<ref>{{Cite web |title=Maple V Release 2 - Maple Help |url=https://www.maplesoft.com/support/help/Maple/view.aspx?path=updates/v52 |access-date=2023-01-18 |website=www.maplesoft.com}}</ref> and ''[[Macsyma|Macsyma 2.0]]'' (1995).<ref>"Macsyma 2.0", ''Design News'', [https://amsso.designnews.com/automation-motion-control/macsyma-20/25416657139708 April 24, 1995]</ref> |
|||
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 (programming language)|Python]], [[Julia (programming language)|Julia]], [[R (programming language)|R]], [[Scala (programming language)|Scala]], [[Elixir (programming language)|Elixir]], [[SQL]], and others.<ref name=":0" /><ref name=":1">{{Cite web|url=http://blog.fperez.org/2012/01/ipython-notebook-historical.html|title=The IPython notebook: a historical retrospective|website=blog.fperez.org|access-date=2016-11-23}}</ref> |
|||
The variety of notebook interface has since been extended and new forms are still evolving.<ref>{{cite book |last1=Lau |first1=Sam |last2=Drosos |first2=Ian |last3=Markel |first3=Julia M. |last4=Guo |first4=Philip J. |title=2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) |chapter=The Design Space of Computational Notebooks: An Analysis of 60 Systems in Academia and Industry |date=August 2020 |pages=1–11 |doi=10.1109/VL/HCC50065.2020.9127201|isbn=978-1-7281-6901-9 |s2cid=219572399 }}</ref> |
|||
== Use == |
== Use == |
||
Notebooks are traditionally used in the sciences as [[electronic lab notebook]]s to document research procedures, data, calculations, and findings. Notebooks track methodology to make it easier to reproduce results and calculations with different data sets.<ref name=":0" /><ref name=":1" /> In [[Educational technology|education]], the notebook interface provides a digital learning environment, particularly for the teaching of [[computational thinking]].<ref>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?".</ref><ref name=":2">{{Cite web|url=http://blog.stephenwolfram.com/2016/09/how-to-teach-computational-thinking/|title=How to Teach Computational Thinking—Stephen Wolfram|website=blog.stephenwolfram.com|date=7 September 2016 |access-date=2016-11-23}}</ref> 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 [[Microsoft PowerPoint|PowerPoint]] and other presentation software, as they allow for the execution of code inside the notebook environment.<ref>{{Citation|last=Databricks|title=Spark Summit 2015 demo: Creating an end-to-end machine learning data pipeline with Databricks|date=2015-07-06|url=https://www.youtube.com/watch?v=NR1MYg_7oSg|access-date=2016-11-23}}</ref><ref>{{Cite web|url=http://blog.wolfram.com/2018/04/17/announcing-wolfram-presenter-tools/|title=Announcing Wolfram Presenter Tools|last=Frazier|first=Cat|date=2018-04-17|access-date=2018-11-27}}</ref> 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]].<ref name=":0" /><ref>{{Cite news|url=https://www.oreilly.com/ideas/delivering-information-in-context|title=Delivering information in context|last=Andrews|first=Ian|date=2016-03-30|newspaper=O'Reilly Media|access-date=2016-11-23}}</ref><ref>{{Cite web|url=https://github.com/jupyter-incubator/dashboards|title=jupyter-incubator/dashboards|website=GitHub|access-date=2016-11-23}}</ref><ref>{{Cite web|url=https://www.wolfram.com/broadcast/video.php?c=88&v=109|title=Business Intelligence with Mathematica and CDF|last=Sharma|first=Shad|access-date=2018-11-27}}</ref> |
|||
Notebooks are traditionally used in the science as [[electronic lab notebook]]s to document research procedures, data, calculations, and findings. Notebooks track methodology as to make it easier to reproduce results and calculations with different data sets.<ref name=":0" /><ref name=":1" /> |
|||
== Notable examples == |
|||
In [[Educational technology|education]], the notebook interface provides a digital learning environment, particularly for the teaching of [[computational thinking]].<ref>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?".</ref><ref>{{Cite web|url=http://blog.stephenwolfram.com/2016/09/how-to-teach-computational-thinking/|title=How to Teach Computational Thinking—Stephen Wolfram|last=|first=|date=|website=blog.stephenwolfram.com|publisher=|access-date=2016-11-23}}</ref> Their utility for combining text with code makes them unique in the realm of education. |
|||
Example of projects or products of notebooks: |
|||
=== Free/open-source notebooks === |
|||
Digital notebooks are sometimes used for presentations as an alternative to [[Microsoft PowerPoint|PowerPoint]] and other presentation software, as they allow for the execution of code inside the notebook environment.<ref>{{Citation|last=Databricks|title=Spark Summit 2015 demo: Creating an end-to-end machine learning data pipeline with Databricks|date=2015-07-06|url=https://www.youtube.com/watch?v=NR1MYg_7oSg|accessdate=2016-11-23}}</ref> |
|||
* [[Apache Zeppelin]] – [[Apache License]] 2.0<ref>{{Cite web |title=Zeppelin |publisher=Apache |url=https://zeppelin.apache.org/ |access-date=2018-12-20}}</ref> |
|||
* [[Apache Spark]] Notebook<ref>{{Cite web |title=Spark Notebook |url=http://spark-notebook.io/ |access-date=2018-09-30 |archive-url=https://web.archive.org/web/20181001104051/http://spark-notebook.io/ |archive-date=2018-10-01 |url-status=dead}}</ref> – [[Apache License]] 2.0 |
|||
* [[GNU TeXmacs]] (a document processor which can act as notebook interface as well) – GPLv3<ref>{{Cite web |title=Welcome to GNU TeXmacs |url=https://www.texmacs.org/tmweb/home/welcome.en.html |access-date=2020-11-28}}</ref> |
|||
* [[IPython]] – [[BSD licenses|BSD]] |
|||
* [[Javalí Notebooks]]: Java-based notebooks environment and [[Learning management system|LMS]] with debugging and unit test support, designed for the academy{{Citation needed|date=October 2024}} |
|||
* [[Jupyter Notebook]] (formerly [[IPython]]) – [[BSD licenses#3-clause_license_("BSD_License_2.0",_"Revised_BSD_License",_"New_BSD_License",_or_"Modified_BSD_License"|Modified BSD License]] (shared copyright model)<ref>{{cite web |author=Jupyter Development Team |title=Licensing terms |work=Jupyter Notebook |publisher=GitHub |date=2015-04-22 |url=https://github.com/jupyter/notebook/blob/master/COPYING.md |access-date=2018-12-20}}</ref> |
|||
* [[JupyterLab]] – [[BSD licenses#3-clause_license_("BSD_License_2.0",_"Revised_BSD_License",_"New_BSD_License",_or_"Modified_BSD_License"|Revised BSD License]]<ref>{{cite web |work=Project Jupyter Contributors |title=LICENSE |date=2018-07-19 |url=https://github.com/jupyterlab/jupyterlab/blob/master/LICENSE |access-date=2018-12-20}}</ref> |
|||
* [[Livebook]] – Apache License 2.0<ref>https://livebook.dev/</ref> |
|||
* [[Mozilla Iodide]] – [[Mozilla Public License|MPL 2.0]]; development in alpha stage<ref>{{Cite web |title=Iodide |website=[[GitHub]] |url=https://github.com/iodide-project/iodide |access-date=2018-12-20}}</ref> |
|||
* [[Org-mode]] on emacs (with the built-in babel addon) – GPL |
|||
* [[Polynote]] – [[Apache License]] 2.0<ref>https://polynote.org/</ref> |
|||
* [[Quarto (software)]] – Jupyter notebooks with Python, R, Julia, and Observable support<ref>https://quarto.org/</ref> |
|||
* [[R Markdown]]<ref>{{Cite web |title=R Markdown |publisher=R Studio |url=https://rmarkdown.rstudio.com/ |access-date=2018-09-30}}</ref> – GPLv3<ref>{{cite web |title=Licene |work=Readme |publisher=GitHub |date=2018-12-07 |url=https://github.com/rstudio/rmarkdown/blob/master/README.md |access-date=2018-12-20}}</ref> |
|||
* [[SageMath]] – [[GPLv3]] |
|||
* [[Starboard (software)]] – A shareable In-browser literal notebook<ref>https://starboard.gg/</ref> |
|||
* [[Xamarin Workbooks]] for [[.NET]] – MIT<ref>https://docs.microsoft.com/en-us/xamarin/tools/workbooks/</ref> |
|||
=== Partial copyleft === |
|||
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]].<ref name=":0" /><ref>{{Cite news|url=https://www.oreilly.com/ideas/delivering-information-in-context|title=Delivering information in context|last=Andrews|first=Ian|date=2016-03-30|newspaper=O'Reilly Media|access-date=2016-11-23}}</ref><ref>{{Cite web|url=https://github.com/jupyter-incubator/dashboards|title=jupyter-incubator/dashboards|website=GitHub|access-date=2016-11-23}}</ref> |
|||
* [[SMath Studio]] – Freeware, not libre: licensed under [[Creative Commons licenses|Creative Commons Attribution-No Derivatives]] |
|||
=== Proprietary notebooks === |
|||
* [[Wolfram Mathematica]] |
|||
* [[Mathcad]] |
|||
* [[MATLAB]] – Live Editor since 2016. |
|||
* Noteable<ref>{{Cite web |title=Noteable|website=noteable.io |publisher=Noteable, Inc. |url=https://noteable.io |access-date=2021-05-21}}</ref><!--Proprietary--> |
|||
* [[Noteable]]<ref>{{Cite web|title=Noteable - Computational Notebook Platform for Education|url=https://noteable.edina.ac.uk/|access-date=2021-08-12|website=noteable.edina.ac.uk}}</ref> |
|||
* Deepnote<ref>{{Cite web |title=Deepnote |website=deepnote.com |publisher=Deepnote, Inc. |url=https://deepnote.com |access-date=2020-12-30}}</ref><!--Proprietary--> |
|||
* Carbide<ref>{{Cite web |title=Carbide Alpha | Buggy But Live! |publisher=Try Carbide |url=https://trycarbide.com/ |access-date=2018-12-20}}</ref><!--Builds on open-source projects, license unknown; assume to be proprietary--> |
|||
* Graphext<ref>{{Cite web |title=Graphext |website=graphext.com |publisher=Graphext |url=https://graphext.com |access-date=2020-12-30}}</ref><!--Proprietary--> |
|||
* [[Databricks]] cloud (founded 2013).<ref name=":0">{{Cite news |last=Osipov |first=Matt |title=The Rise of Data Science Notebooks |website=Datanami |publisher=Tabor Communications |date=2016-05-04 |url=https://www.datanami.com/2016/05/04/rise-data-science-notebooks/ |access-date=2016-12-20}}</ref><ref>{{cite web |title=Databricks Unified Analytics Platform |publisher=Databricks Inc. |location=San Francisco, CA |year=2018 |url=https://databricks.com/product/unified-analytics-platform |access-date=2018-12-20}}</ref><!--Proprietary--> |
|||
* Datalore<ref>{{Cite web |title=Datalore |publisher=JetBrains s.r.o. |url=https://datalore.io |access-date=2019-08-08}}</ref><!--Assume as Proprietary--> |
|||
* Nextjournal<ref>{{Cite web |title=Nextjournal |website=nextjournal.com |publisher=Nextjournal GmbH |year=2018 |url=https://nextjournal.com |access-date=2018-12-20}}</ref><!--Proprietary--> |
|||
* Observable<ref>{{Cite web |title=Observable |publisher=Observable HQ |url=https://observablehq.com/ |access-date=2018-09-30}}</ref> – Uses open-source components,<ref>{{cite web |author=Observable |title=Repositories |publisher=Observable via GitHub |location=San Francisco, California |date=2018-12-15 |url=https://github.com/observablehq/runtime |access-date=2018-09-30}}</ref> but the look and feel are proprietary<ref>{{cite web |title=Terms of Service |publisher=Observable |year=2018 |url=https://observablehq.com/terms-of-service |access-date=2018-01-12}}</ref><!--Assume as Proprietary--> |
|||
* [[WolframAlpha]] Notebooks<ref>{{cite web|title=WolframAlpha Notebook Edition | url=https://www.wolfram.com/wolfram-alpha-notebook-edition/|access-date=2021-01-12}}</ref> <!--Assume as Proprietary--> |
|||
== References == |
== References == |
||
{{Reflist}} |
{{Reflist}} |
||
[[Category: |
[[Category:Notebook interface| ]] |
||
⚫ | |||
[[Category:Graphical user interfaces]] |
[[Category:Graphical user interfaces]] |
||
⚫ | |||
[[Category:Technical communication tools]] |
[[Category:Technical communication tools]] |
Latest revision as of 15:45, 18 October 2024
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]
History
[edit]VisiCalc, the first spreadsheet for personal computers, was published in 1979. Its idea of visual calculations is still widely used today but limited to documents that fit into a table.
Research on WYSIWYG mathematical systems supporting mixed text and calculations with a document metaphor begin to be published in 1987:[6] Ron Avitzur's Milo,[7] William Schelter's INFOR, Xerox PARC's Tioga[8] and CaminoReal.[9]
The earliest commercial system using the document metaphor was MathCAD, which also came out in 1987.[10] Wolfram Mathematica 1.0 followed in 1988.[11][12][13] Later came Maple 5.2 (1992)[14] and Macsyma 2.0 (1995).[15]
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, R, Scala, Elixir, SQL, and others.[16][17]
The variety of notebook interface has since been extended and new forms are still evolving.[18]
Use
[edit]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.[16][17] In education, the notebook interface provides a digital learning environment, particularly for the teaching of computational thinking.[19][4] 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.[20][21] 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.[16][22][23][24]
Notable examples
[edit]Example of projects or products of notebooks:
Free/open-source notebooks
[edit]- Apache Zeppelin – Apache License 2.0[25]
- Apache Spark Notebook[26] – Apache License 2.0
- GNU TeXmacs (a document processor which can act as notebook interface as well) – GPLv3[27]
- IPython – BSD
- Javalí Notebooks: Java-based notebooks environment and LMS with debugging and unit test support, designed for the academy[citation needed]
- Jupyter Notebook (formerly IPython) – Modified BSD License (shared copyright model)[28]
- JupyterLab – Revised BSD License[29]
- Livebook – Apache License 2.0[30]
- Mozilla Iodide – MPL 2.0; development in alpha stage[31]
- Org-mode on emacs (with the built-in babel addon) – GPL
- Polynote – Apache License 2.0[32]
- Quarto (software) – Jupyter notebooks with Python, R, Julia, and Observable support[33]
- R Markdown[34] – GPLv3[35]
- SageMath – GPLv3
- Starboard (software) – A shareable In-browser literal notebook[36]
- Xamarin Workbooks for .NET – MIT[37]
Partial copyleft
[edit]- SMath Studio – Freeware, not libre: licensed under Creative Commons Attribution-No Derivatives
Proprietary notebooks
[edit]- Wolfram Mathematica
- Mathcad
- MATLAB – Live Editor since 2016.
- Noteable[38]
- Noteable[39]
- Deepnote[40]
- Carbide[41]
- Graphext[42]
- Databricks cloud (founded 2013).[16][43]
- Datalore[44]
- Nextjournal[45]
- Observable[46] – Uses open-source components,[47] but the look and feel are proprietary[48]
- WolframAlpha Notebooks[49]
References
[edit]- ^ Standage, Daniel (2015-03-13). "Literate programming, RStudio, and IPython Notebook". BioWize. Wordpress. Retrieved 2016-12-01.
- ^ Jupyter, Project (20 February 2018). "JupyterLab is Ready for Users". Retrieved 30 May 2018.
- ^ Ramsey, N. (September 1994). "Literate programming simplified". IEEE Software. 11 (5): 97–105. doi:10.1109/52.311070. ISSN 0740-7459. S2CID 18593796.
- ^ a b "How to Teach Computational Thinking—Stephen Wolfram". blog.stephenwolfram.com. 7 September 2016. Retrieved 2016-11-23.
- ^ "The Jupyter Notebook — Jupyter Notebook 6.2.0 documentation". jupyter-notebook.readthedocs.io. Retrieved 2021-05-03.
- ^ Dennis S. Arnon, ed., "Workshop on Environments for Computational Mathematics (July 1987)", Computer Graphics 22:1 (February 1988)
- ^ Richard J. Fateman, "Computer Systems for the Representation and Manipulation of Mathematical Knowledge", Final report, August 1987 (DTIC AD-A193 547)
- ^ 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.
- ^ 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". 16 November 2016. Retrieved 2016-11-23.
- ^ "Maple V Release 2 - Maple Help". www.maplesoft.com. Retrieved 2023-01-18.
- ^ "Macsyma 2.0", Design News, April 24, 1995
- ^ a b c d Osipov, Matt (2016-05-04). "The Rise of Data Science Notebooks". Datanami. Tabor Communications. Retrieved 2016-12-20.
- ^ a b "The IPython notebook: a historical retrospective". blog.fperez.org. Retrieved 2016-11-23.
- ^ Lau, Sam; Drosos, Ian; Markel, Julia M.; Guo, Philip J. (August 2020). "The Design Space of Computational Notebooks: An Analysis of 60 Systems in Academia and Industry". 2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). pp. 1–11. doi:10.1109/VL/HCC50065.2020.9127201. ISBN 978-1-7281-6901-9. S2CID 219572399.
- ^ 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?".
- ^ 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.
- ^ "Welcome to GNU TeXmacs". Retrieved 2020-11-28.
- ^ Jupyter Development Team (2015-04-22). "Licensing terms". Jupyter Notebook. GitHub. Retrieved 2018-12-20.
- ^ "LICENSE". Project Jupyter Contributors. 2018-07-19. Retrieved 2018-12-20.
- ^ https://livebook.dev/
- ^ "Iodide". GitHub. Retrieved 2018-12-20.
- ^ https://polynote.org/
- ^ https://quarto.org/
- ^ "R Markdown". R Studio. Retrieved 2018-09-30.
- ^ "Licene". Readme. GitHub. 2018-12-07. Retrieved 2018-12-20.
- ^ https://starboard.gg/
- ^ https://docs.microsoft.com/en-us/xamarin/tools/workbooks/
- ^ "Noteable". noteable.io. Noteable, Inc. Retrieved 2021-05-21.
- ^ "Noteable - Computational Notebook Platform for Education". noteable.edina.ac.uk. Retrieved 2021-08-12.
- ^ "Deepnote". deepnote.com. Deepnote, Inc. Retrieved 2020-12-30.
- ^ "Carbide Alpha | Buggy But Live!". Try Carbide. Retrieved 2018-12-20.
- ^ "Graphext". graphext.com. Graphext. Retrieved 2020-12-30.
- ^ "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.