Also: it’s not very well known, but Jupyter has a pluggable kernel architecture. Even the name Jupyter is a portmanteau of “Julia, Python, and R” – three core languages supported by Jupyter via kernels. It is best known as “IPython Notebooks” due to the project’s history (and because parts of Jupyter are implemented in Python), but other languages work, too. The Clojupyter project provides such a kernel for Clojure. And it actually works pretty nicely. I am a Python + Clojure (see also: Clojonic) programmer so I use it relatively frequently.
With python I get it, people do one off data science but need to look at the results and tweak computation along the way, but while being friendly to non programmers.
What non programmers need a Jupiter notebook for Clojure?
I think you have it backwards. Which programmers (who use Clojure or JVM stuff) could use something like a Jupiter notebook without having to resort to using Python? :)
: Nothing against Python per se.
I think notebooks are the wrong abstraction. When I’m doing analysis, the code itself isn’t the primary artifact. The individual execution is, and I want the code, inputs, and outputs attached to that. Instead of editing a notebook and doing out of order execution, I want to be able to trivially go back and forth between executions and the code that was used for them, and memoize expensive computations that didn’t change between them.
Also checkout Pluto.jl which addresses a lot of the same „problems*“. Obviously it is very early stage and has only a kernel for Julia. Also if someone mentions the talk „I don‘t like notebooks“ please also consider the response talk „I do like notebooks“.
*in my opinion these mainly arise when people write bad code and Jupyter certainly doesn‘t stop you from doing that, but neither does your editor or IDE.