5 reasons why jupyter notebooks suck
medium.com
medium.com
I also realize that English is not the author's first language but the tone of this comes off unnecessarily negative to the (mostly/entirely volunteer) developers of Jupyter.
Notebooks suck for some things, and they are absolutely fantastic for others.
Speaking of which, I recognize your name :). Thanks for SAGE! It was my first introduction to the power of a code notebook.
This has always seemed crazy to me for something that is called a notebook and seems designed for exploratory analysis. It seems like there should be a record of the order cells were run, and what their contents were when they were run, unless you have chosen "Kernel > Restart & Run All". Also, why isn't that command given prime importance with at least a button in the toolbar?
I thought I was just using Jupyter wrong, so it is a little surprising to see the same complaint from someone who has used it "roughly 3 years up to 60% of my time".
I like the model of using RStudio with KnitR. I rerun the entire document every now and then to make sure it accurately describes the thought process in a coherent narrative. I can cache results of operations that take a long time, but doing that is explicit, and the command to do so can be found in the code, rather than a consequence of an unrecorded action.
Incidentally it isn't clear to me how I can get the Sage kernel into another installation of Jupyter, or other kernels into the Jupyter installation embedded in sageMath. If I used Jupyter instead of R/RStudio or Julia/Juno the draw would be having the different toolsets and their environments all accessible in one primary interface.
I fee like the article is a response to an imaginary problem a la "5 Reasons why Regular Expressions suck: 1-4 They make it hard to parse HTML".
If you are using them for something they were not intended for then yes, they do suck.
I would recommend it to anyone interested in this: https://www.youtube.com/watch?v=y19s6vPpGXA
JupyterLab: https://github.com/jupyterlab/jupyterlab