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

A bit off topic, sorry, but: Jupyter is bad for research. The ability to run code out of order, but then save the output, is confusing for the one doing the research and everybody who wants to reproduce it. I don't understand why the decision was made for Jupyter to combine the source code of a notebook and the output. Things like Quarto keep both separate, as essentially all programming languages inteded, while providing an easy-to-use implementation of literate programming.



This can be solved by just running "restart and re-run all" as a matter of habit whenever you feel like you are in a good state. If you're looking at someone else's notebook, this should also be your first step.

If you're using Python, Jupyter still offers a major advantage for sharing prototyping/research work in that it it is the only real way to provide literate programming. There are cases where code inside of a notebook should be pulled into a library, but pure code will always be inferior when most of your work is expository and exploratory.

Literate Haskell, and R Markdown are superior forms of literate programming, but Jupyter is not terrible if you just take some basic precautions before sharing.

Notebooks work great as... notebooks. Which is primarily how they're used in my experience. When the bulk of your work is prototyping and and exploring an idea, they're still an excellent choice.


Quarto is like R Markdown, but it supports the jupyter kernel, so Python support is essentially the same as jupyter notebooks. But the good practices are built in, instead of you having to remember running "restart and re-run all". So it's a valid option for literate programming in Python (and several other languages).

When I say "confusing", I don't mean I don't understand it. I mean that while using it, there is a higher than zero chance that you get confused at some point and mess up.

I love the feature that you can interactivly develop/prototype research. I just think better/less error-prone tools are available (which also track nicer on git btw, since quarto docs are flat text files).




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

Search: