Ask HN: Why don't other languages have Jupyter style notebooks?

1 points by gvkhna ↗ HN
Pretty self explanatory, I’ve always wondered why jupyter notebooks today don’t support other languages like javascript. And would jupyter support things like mojo or Julia?

9 comments

[ 5.1 ms ] story [ 34.7 ms ] thread
Not quite the same. But I guess in Emacs you can have code alongside text alongside images and graphics for pretty much any programming language. Another related concept is literate programming. There comments and code kind of switch roles. The comments (i.e. text) are the primary content and the code is designated (but still executable). I feel like it went a bit out of fashion, but a more modern application of this is ZX markdown scripts:

https://google.github.io/zx/markdown-scripts

Those are markdown files with JavaScript code blocks. The entire file is executable.

There's Livebook for Elixir.
I've never used Jupyter personally so maybe there's some functionality I'm not aware of, but org-mode + org-babel in Emacs is really great and it does everything I've ever seen other people do with Jupyter.
Jupyter in the emacs universe :

   article : https://martibosch.github.io/jupyter-emacs-universe/

   the github source : https://github.com/millejoh/emacs-ipython-notebook

   alt setups : https://news.ycombinator.com/item?id=16899638

   emacs org mode : https://michaelneuper.com/posts/replace-jupyter-notebook-with-emacs-org-mode/
the kernel : https://github.com/emacs-jupyter/jupyter
Jupyter notebooks is just a software environment under which other software programms run (statistics, sql/db, python, drawing, writing. Language support can be added to the jupyter notebook environment. Adding kernals for multiple languages to jupyter notebooks. [0]

https://code.visualstudio.com/docs/datascience/jupyter-kerne...

Kernel addons[1]. Show installed kernels[a]

Polygot notebooks (.net based, vs. traditional python) [5]

[a] : https://docs.posit.co/ide/server-pro/user/2023.03.1/jupyter-...

[b] available kernels : https://gist.github.com/chronitis/682c4e0d9f663e85e3d87e97cd...

[0] : https://note.nkmk.me/en/jupyter-notebook-kernels-bash/

[1] : https://docs.jupyter.org/en/latest/projects/kernels.html

[2] : https://jupyter4edu.github.io/jupyter-edu-book/jupyter.html

[3] : https://www.geeksforgeeks.org/how-to-work-in-jupyter-noteboo...

[4] Jupyter with other languages such as js : https://www.youtube.com/watch?v=Veaeqd1PET0

[5] jupyter .net : https://github.com/dotnet/interactive

Well, it's called JuPyteR (my capitalisation), and originally supported Julia, Python and R. The exact provenance of the name is a bit unclear, but it's either deliberate or a happy coincidence.

Pluto.jl is also 'like Jupyter', but better and more popular among Julia users, as far as I know.

From the devs themselves: https://blog.jupyter.org/i-python-you-r-we-julia-baf064ca1fb...

> When we decided to rename part of the IPython project to Jupyter in 2014, we had many good reasons. Our goal was to make (Data)Science and Education better, by providing Free and Open-Source tools that can be used by everyone. The name “Jupyter” is a strong reference to Galileo, who detailed his discovery of the Moons of Jupiter in his astronomical notebooks. The name is also a play on the languages Julia, Python, and R, which are pillars of the modern scientific world. While we (Love Python), and use it for much of the architecture in Jupyter, we believe that all open-source languages have an important role in scientific and data analysis workflows. We have strived to make Jupyter a platform that treats all open-source languages as first-class citizens.