Notebook-Schnittstelle - Notebook interface
Eine Notebook-Schnittstelle (auch Computational Notebook genannt ) ist eine virtuelle Notebook- Umgebung, die für die Literate-Programmierung verwendet wird , eine Methode zum Schreiben von Computerprogrammen. Einige Notebooks sind WYSIWYG- Umgebungen mit ausführbaren Berechnungen, die in formatierte Dokumente eingebettet sind; andere trennen Berechnungen und Text in separate Abschnitte.
Modulare Notebooks können mit einer Vielzahl von Rechen-Back-Ends verbunden werden, die als "Kernel" bezeichnet werden. Notebook-Schnittstellen werden häufig für Statistik , Data Science , maschinelles Lernen und Computeralgebra verwendet .
Kern des Notebooks ist die Idee von Programmierwerkzeugen, die als "Werkzeuge lassen Sie die Teile eines Programms in beliebiger Reihenfolge anordnen und Dokumentation und Code aus derselben Quelldatei extrahieren." beschrieben werden Ebene, die es um einige grafische Funktionen und einen Fokus auf Interaktivität erweitert . Laut Stephen Wolfram : „Die Idee eines Notebooks besteht darin, ein interaktives Dokument zu haben, das Code, Ergebnisse, Grafiken, Text und alles andere frei mischt.“ und laut der Jupyter Project Documentation: „Das Notebook erweitert den konsolenbasierten Ansatz auf interaktive Computer in eine qualitativ neue Richtung eine webbasierte Anwendung geeignet für die Erfassung der gesamten Berechnungsprozess bereitstellt. Entwicklungs, dokumentieren und Code ausführt, sowie die Kommunikation der Ergebnisse die Jupyter Notebook kombiniert zwei Komponenten“.
Geschichte
Forschung über WYSIWYG mathematische Systeme Text und Berechnungen mit einem Dokument unterstützen Metapher beginnt im Jahr 1987 veröffentlicht werden: Ron Avitzur von Milo , William Schelter des INFOR , Xerox PARC ‚s Tioga und CaminoReal .
Das früheste kommerzielle System, das die Dokumentmetapher verwendet, war MathCAD , das ebenfalls 1987 herauskam. Bald darauf folgte Wolfram Mathematica 1.0 (1988). Später kamen Maple 5.2 (1992) und Macsyma 2.0 (1995).
Als die Notebook-Schnittstelle in den nächsten zwei Jahrzehnten an Popularität gewann, wurden Notebooks für verschiedene Rechen-Backends ("Kernel") eingeführt, darunter MATLAB , Python , Julia , Scala , SQL und andere.
Verwenden
Notizbücher werden in der Wissenschaft traditionell als elektronische Labornotizbücher verwendet , um Forschungsverfahren, Daten, Berechnungen und Ergebnisse zu dokumentieren. Notebooks verfolgen die Methodik, um die Reproduktion von Ergebnissen und Berechnungen mit unterschiedlichen Datensätzen zu erleichtern. Im Bildungsbereich bietet die Notebook-Schnittstelle eine digitale Lernumgebung, insbesondere für die Vermittlung von Computational Thinking . Ihre Nützlichkeit, Text mit Code zu kombinieren, macht sie im Bildungsbereich einzigartig. Digitale Notebooks werden manchmal für Präsentationen als Alternative zu PowerPoint und anderer Präsentationssoftware verwendet, da sie die Ausführung von Code innerhalb der Notebook-Umgebung ermöglichen. Aufgrund ihrer Fähigkeit, Daten visuell darzustellen und Daten aus verschiedenen Quellen durch Modifikation von Code abzurufen, betreten Notebooks auch den Bereich der Business-Intelligence-Software .
Bemerkenswerte Beispiele
Beispiele für Projekte oder Produkte von Notebooks:
Kostenlose/Open-Source-Notebooks
- Apache Zeppelin — Apache-Lizenz 2.0
- Apache Spark- Notebook – Apache-Lizenz 2.0
- IPython — BSD
-
Jupyter Notebook (ehemals IPython ) – Modifizierte BSD-Lizenz (gemeinsames Copyright-Modell)
- Google Colaboratory – Keine Einrichtung Jupyter Notebook-Umgebung – Kostenlose Software
- Amazon SageMaker --- ML-fokussierte Jupyter-Notebook-Umgebung --- Kostenloser Basiszugriff
- Pycharm Notebook-Integration - Jupyter Notebook-Schnittstelle/Frontend-Notebooks für Jetbrains-IDEs, dies ist eine Premium-Funktion, aber der Quellcode kann hier gefunden werden
- VSCode Notebook-Unterstützung - Jupyter Notebook-Schnittstelle/Frontend und API für VSCode
- JupyterLab — Überarbeitete BSD-Lizenz
- Starboard - Ein buchstäbliches Notizbuch, das gemeinsam genutzt werden kann, Quellcode finden Sie hier
- Mozilla-Jodid — MPL 2.0 ; Entwicklung im Alpha-Stadium
- R-Abschlag — GPLv3
- SageMath — GPLv3
- Org-Modus auf emacs (mit dem eingebauten Babel-Addon) — GPL
- Xamarin-Arbeitsmappen für DotNet – MIT
- Polynote Apache-Lizenz 2.0
- GNU TeXmacs (ein Dokumentenprozessor, der auch als Notebook-Schnittstelle fungieren kann) — GPLv3
- Javalí Notebooks: Java-basierte Notebook-Umgebung und LMS mit Debugging- und Unit-Test-Unterstützung, entwickelt für die Akademie, ein Präsentationsvideo finden Sie hier .,
Teilweises Copyleft
- SMath Studio – Freeware, nicht frei: lizenziert unter Creative Commons Attribution-No Derivatives
Proprietäre Notizbücher
- Wolfram Mathematica
- Mathcad
- Bemerkenswert
- Bemerkenswert
- Tiefennote
- Hartmetall
- Databricks- Cloud (gegründet 2013).
- Datenkunde
- NächstesJournal
- Beobachtbar – Verwendet Open-Source-Komponenten, aber das Aussehen und die Bedienung sind proprietär
- WolframAlpha- Notizbücher