Hacker News new | past | comments | ask | show | jobs | submit login

Maybe because Jupyter has already more than 70 kernels and got adopted before other notebooks appeared (Beaker, Spark, Zeppelin)?



true but the languages are siloed, each notebook runs just one language. with beaker the languages can communicate with each other. there's no easier way to combine python and javascript for d3, for example: https://pub.beakernotebook.com/publications/7fdcaaa6-fb83-11...

there are lot more differences in the UI as well.


You can actually use R and Python in the same notebook. See https://blog.dominodatalab.com/lesser-known-ways-of-using-no...

The %Rpush and %Rpull magics are what you need.

Also, if you are using Spark, then Apache Toree[1] lets you use Python, R, Scala and SQL in the same notebook against Spark[2].

[1] https://toree.incubator.apache.org/documentation/user/how-it...

[2] https://github.com/ibm-et/spark-kernel/wiki/Language-Support...


Not everyone needs more than one language in the same notebook communicating between each other. But if required, then the cell magic system looks superior to me: have a look at %%fortran, %%cython, %%javascript, %%html, %%bash options. Also it is possible to switch kernels in the same notebook, but serialization of state between kernels is handled by user.


Cell magics just seem like one possible method of choosing which language to use, a menu such as what beaker uses seems alright too. I was setting up cling (the C++ kernel) today and I gave up at realising that the interpreter is spun up in a subprocess, rather than a kernel persisted across cells. Without cross cell support, mixing languages is a limited feature of jupyter.





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

Search: