Speaker
Description
The language-agnostic architecture of Project Jupyter enables the rich features of the Jupyter front-end for a large number of programming languages beyond Python, including Julia and R. However, despite the importance of the C++ scientific computing stack, adoption of Jupyter has remained limited in this community because of the compiled nature of the programming language.
In this presentation, we demonstrate the Xeus-Cling Jupyter kernel, which is built upon the Cling C++ interpreter from CERN and the Xeus C++ implementation of the Jupyter protocol. The Xeus-cling kernel includes features such as:
- availability of quick help for any type or variable
- the rich MIME type rendering for images, videos, or any MIME type for which renderers are available in JupyterLab or the classic Notebook
- xwidgets, a native backend to Jupyter interactive widgets, including all the widgets from the core jupyter-widgets library but also backends for bqplot (xplot), ipyleaflet (xleaflet), pythreejs (xthreejs), and ipyvolume (xvolume)
Then we dive into the ecosystem of available libraries for interactive scientific computing in C++, such as xtensor for lazy array-based computing and xframe for labeled arrays and datasets.