jupyter-xeus / xeus-cling

Jupyter kernel for the C++ programming language
BSD 3-Clause "New" or "Revised" License
3.01k stars 294 forks source link

Clarification about the relation to cling #476

Open naweiss opened 1 year ago

naweiss commented 1 year ago

The documentation of cling states:

Cling comes with a Jupyter kernel. After building cling, install Jupyter and cling's kernel by following the README.md in tools/Jupyter.

This projects is also a Jupyter kernel for C++ based on the cling. So, it would be helpful to claritfy in the README file, what is exactly the difference between the "builtin" cling kernel and the kernel used in this project. In other words, what is the motivation of using/creating this project.

JohanMabille commented 1 year ago

The kernel provided by ROOT is based on the wrapper kernel approach, meaning it depends on ipykernel and thus on the Python runtime.

This kernel is based on xeus, a native implementation of the Jupyter Kernel protocol. No dependency on ipykernel nor any Python part of the Jupyter ecosystem, and it has proven to be more stable on the long run.

naweiss commented 1 year ago

Thanks, wouldn't it be worth to mention it somehow in the doc?

JohanMabille commented 1 year ago

Yes, would you like to open a PR?

naweiss commented 1 year ago

I added a new section which might be an overkill, but I think it makes it clearer for new users why should they prefer xeus-cling over cling - #478.