ist jetzt verfügbar! Lesen Sie über die neuen Funktionen und Fehlerbehebungen vom November.

Das Erwachsenwerden von Notebooks

05. August 2021 von Chris Dias, @chrisdias

Eine (nicht so) neue Art der Entwicklung

Notebooks – Dokumente, die Text, ausführbaren Code sowie die Ausgabe dieses Codes enthalten – sind eine interessante und aufregende neue Art der Entwicklung.

An image of a notebook that analyzes data from the Titanic shipwreck

Okay, ganz neu ist das nicht. Donald Knuth führte das Konzept des Literate Programming 1984 ein, und Wolfram Mathematica führte 1988 die Notebook UI powered by Kernels ein.

Im letzten Jahrzehnt haben wir eine Explosion der Nutzung von Notebooks erlebt, insbesondere mit dem Aufstieg der Data Science. Tools wie Jupyter Notebooks sind zu einem De-facto-Werkzeug in der Data-Science-Community geworden. Sie werden für alles Mögliche genutzt und geliebt, von virtuellen Notizblöcken über Datenaufbereitung bis hin zur Entwicklung komplexer Machine-Learning-Modelle.

Ein interessanter Trend, den wir beobachtet haben, ist, dass Data Science und Machine Learning zu einem Teamsport werden: Entwickler arbeiten zunehmend mit Data Scientists zusammen, um Datensätze für das Modelltraining aufzubereiten, explorativen Code für den Produktionseinsatz zu refaktorieren und Modellinferenzen in ihr Kernprodukt zu integrieren. Unser eigenes Team analysiert täglich riesige Mengen an Nutzungsdaten und verwendet Jupyter Notebooks, um Hypothesen zu verfolgen, zu analysieren und zu validieren. Wir verwenden domänenspezifische Notebooks (GitHub Issues), um Probleme und Arbeitselemente über GitHub-Repositories hinweg zu verfolgen und Einblicke in die Bereitschaft für die monatliche Veröffentlichung von VS Code zu geben. Notebooks sind für uns mittlerweile entscheidend für den Betrieb des VS Code-Projekts.

Neue Benutzeroberfläche, keine Warnung

Wir haben intensiv daran gearbeitet, Notebook-Unterstützung in den Kern von VS Code zu integrieren, um sie schneller und sicherer zu machen – und um sicherzustellen, dass Ihre bevorzugten VS Code-Erweiterungen darin funktionieren. Als Teil dieser Bemühungen führen wir auch Änderungen an der Benutzererfahrung ein, um Notebooks als integralen Bestandteil des Tools zu etablieren und nicht als Add-on, wie es in früheren Bemühungen der Fall war.

Wenn Sie die Insiders Builds nutzen, konnten Sie die Entwicklung der Benutzeroberfläche mitverfolgen. In der Stable-Version hatten 40 % der Benutzer die neue Notebook-Oberfläche. Das Feedback war generell positiv. Also, wie Nigel Tufnel, beschlossen wir, die Lautstärke auf 11 zu drehen und alle auf die neue Implementierung umzustellen.

Leider, wie Sie uns schnell mitteilten, haben wir den Übergang für Sie mit wenig bis gar keiner Vorwarnung durchgeführt. Da saßen Sie und haben Ihre Arbeit mit Jupyter Notebooks erledigt, diese riesige Datenmenge bereinigt und analysiert, um die Ausdehnung des Universums zu modellieren, und wir haben Ihre Welt auf den Kopf gestellt. Sie holten sich einen Kaffee, starteten VS Code und „wumms“ war Ihre Notebook-Erfahrung … anders.

Obwohl wir begeistert davon sind, neue Funktionen in VS Code einzuführen, sind solche Überraschungen nicht das, was man am Morgen erwartet, wenn man das Tool startet. Dafür möchten wir uns entschuldigen. Es gibt bessere Wege, Änderungen auszurollen und alle darüber zu informieren, was passiert, warum und wann.

Aber es ist anders!

Die ursprüngliche Version von Notebooks in VS Code lag sehr nahe an der klassischen Jupyter Notebooks-Erfahrung, sie sah und verhielt sich ziemlich gleich. Das war ein vernünftiger Ausgangspunkt, eine warme, gemütliche und vertraute Erfahrung. Als wir jedoch mehr darüber erfuhren, wie VS Code-Benutzer sowohl mit Notebooks als auch mit dem Rest des Tools arbeiten, erkannten wir, dass die beiden Erfahrungen eher ähnlich als unterschiedlich sein mussten.

Notebooks in VS Code sollten sich natürlich anfühlen, damit Sie nahtlos zwischen dem Erstellen Ihrer Code-Dateien und Ihrem Notebook zur Modellierung des Universums in Python wechseln können. Das bedeutet, dass Notebooks in VS Code so weit wie möglich auf eingebaute Metaphern und vertraute Tastenkombinationen zurückgreifen.

Zum Beispiel sollte sich das Schreiben in einer Code-Zelle genauso anfühlen wie das Schreiben von Code im vollwertigen Texteditor, unabhängig von der verwendeten Sprache. Einstellungen sollten nicht spezifisch für Notebooks sein. Quick Fixes, Gliederung, Quellaktionen, Refactorings, Mehrfach-Cursor, Zeilenumbruch, Auswahl vergrößern und verkleinern, Spaltenauswahlmodus, Änderung der Groß-/Kleinschreibung und andere Editor-Erfahrungen sollten gleich sein. Ihre bevorzugten Editor-Erweiterungen wie Bracket Pair Colorizer und Snippets sollten einfach funktionieren. Sie sollten Notebooks grafisch nebeneinander vergleichen können, genau wie Sie es heute mit Quelldateien tun.

Das Ökosystem

Darüber hinaus stellen wir uns ein reichhaltiges Erweiterungs-Ökosystem für Notebooks vor. Sie sollten in der Lage sein, im Marketplace nach Kernels oder benutzerdefinierten Visualisierern zu suchen, so wie Sie Themes und neue Sprachunterstützung entdecken. Unsere API unterstützt sogar die Erstellung benutzerdefinierter (nicht-Jupyter-)Notebooks für neue Domänen. Beispielsweise ermöglicht die REST Book-Erweiterung das Schreiben und Speichern von REST-Aufrufen mit benutzerdefinierten Visualisierungen für Ausgaben (z. B. JSON, HTML und ein benutzerdefiniertes Dokument). Wie bereits erwähnt, ermöglicht die GitHub Issues Notebooks das Erstellen von Notebooks mit verschiedenen Issue-Abfragen für Ihr Repository zur Verwaltung Ihres Projekts, genau wie wir es tun.

Die Zukunft sieht rosig aus

Um die Metapher zu vervollständigen, sind Notebooks in VS Code von ihren unbeholfenen Teenagerjahren ins (junge) Erwachsenenalter gereift, selbstbewusst und stark, mit einer glänzenden Zukunft. Die Arbeit mit VS Code Notebooks erfordert vielleicht eine kleine Umstellung, wenn Sie von Jupyter kommen, aber wir hoffen, dass es sich am Ende lohnen wird. Und wie wir immer zu tun versuchen, können Sie die Erfahrung über Einstellungen anpassen (suchen Sie im Einstellungseditor nach @tag:notebookLayout).

Wir glauben, dass die Erweiterung der reichhaltigen Code-Erlebnisse und des Ökosystems von VS Code um umfassende Jupyter Notebook-Unterstützung ein großartiges Werkzeug ist, um leistungsstarke neue Erkenntnisse in Ihre tägliche Entwicklung zu bringen. Wir haben einige großartige neue Funktionen in der Juli-Version, probieren Sie sie bitte aus und lassen Sie uns wissen, was Sie davon halten (Gutes und Schlechtes!). Ihr Feedback ist entscheidend, damit wir das bestmögliche Produkt bauen können.

Danke!

Jim, Joe, Kai, Chris und das VS Code Team

Viel Spaß beim Notebooking!

© . This site is unofficial and not affiliated with Microsoft.