Summary
A notebook interface or computational notebook is a virtual notebook environment used for literate programming, a method of writing computer programs. 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. 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.", 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.", 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". 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: Ron Avitzur's Milo, William Schelter's INFOR, Xerox PARC's Tioga and CaminoReal. The earliest commercial system using the document metaphor was MathCAD, which also came out in 1987. Wolfram Mathematica 1.0 followed soon afterwards (1988).
About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Ontological neighbourhood