Hacker News new | comments | show | ask | jobs | submit login
C++ implementation of the Jupyter kernel protocol (github.com)
94 points by seletz 4 months ago | hide | past | web | favorite | 11 comments

See the post on the Jupyter blog for more context which has a section on xeus : https://blog.jupyter.org/interactive-workflows-for-c-with-ju...

I had heard of interactive C++ before, but to see it, and see it in a Jupyter notebook, was eye-opening.

Maybe you also would like to see the Energize C++ environment created by Lucid, after they pivoted away from Lisp Machines.



I did, but while it looked like a nice IDE (as an aside, I was a Lucid Emacs user), what amazed me about the Jupyter example was the interactive C++ interface with GUI display of objects.

Yes, that is pretty neat.

Interesting. Are there any examples of this library being used so far? Can anybody familiar with the topic elaborate on how much can it actually simplify things and what's left to figure out?

This is an initiative backed by Bloomberg. It was pretty trivial to make a C++ (https://github.com/QuantStack/xeus-cling) and R (https://github.com/JuniperKernel/JuniperKernel) kernel around it.

It's pretty easy to use, the biggest work pending is in the widgets system for charting.

We're working on it: widgets (https://github.com/QuantStack/xwidgets) and bqplot (https://github.com/QuantStack/xplot)

Also in the roadmap, a C+ backend for threejs and ipyvolume.

I wonder what was the reason this was written in C++, not in Python or other interpreted languages? Is speed a concern here?

Embed-ability, distribution. Using Jupyter from R, Julia, etc generally has an awkward dependency on python for the notebook server.


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact