Notebooks krijgen extra mogelijkheden door het gebruik van:
* Kernels: Dit zijn de rekenmachines achter een notebook. Zij voeren de code uit die u schrijft en leveren de resultaten. Verschillende kernels ondersteunen verschillende programmeertalen (Python, R, Julia, enz.), waardoor u de beste taal voor uw taak kunt gebruiken. De kernel zorgt ervoor dat de notebook dingen kan *doen* die verder gaan dan alleen tekstbewerking.
* Bibliotheken en pakketten: Dit zijn verzamelingen vooraf geschreven code die de functionaliteit van de programmeertaal van de kernel uitbreiden. In een Python-notebook kun je bijvoorbeeld bibliotheken zoals NumPy gebruiken voor numerieke berekeningen, Pandas voor gegevensmanipulatie, Matplotlib voor plotten of TensorFlow/PyTorch voor machinaal leren. Deze bibliotheken breiden de mogelijkheden binnen de notebook drastisch uit.
* Extensies en plug-ins: Sommige notebookomgevingen (zoals Jupyter Notebook en JupyterLab) ondersteunen extensies en plug-ins die functies toevoegen zoals:
* Verbeterde bewerking: Syntaxisaccentuering, codeaanvulling, linters.
* Visualisaties: Interactieve grafieken en grafieken.
* Versiebeheerintegratie: Naadloos werken met Git.
* Samenwerkingstools: Laat meerdere gebruikers tegelijkertijd op dezelfde notebook werken.
* Bestandsbeheer: Gemakkelijkere manieren om met bestanden en gegevens te communiceren.
* Magische commando's (in Jupyter): Dit zijn speciale opdrachten (voorafgegaan door `%` of `%%` in Jupyter) die extra functionaliteit bieden binnen de notebookomgeving zelf, en vaak rechtstreeks communiceren met het besturingssysteem of de interne onderdelen van de notebook. Voorbeelden hiervan zijn het uitvoeren van shell-opdrachten, het timen van de uitvoering van code of het besturen van het beeldscherm van de notebook.
In wezen is de kernel de kernel, maar de echte kracht komt van de combinatie van de kernel, de bibliotheken die u laadt en alle extensies of plug-ins die de notebookinterface en de functionaliteit ervan vergroten. |