4 ms·
I prefer many things about RStudio over Jupyter! I have two main issues with Jupyter (Notebooks). First, Jupyter Notebooks don't facilitate working with revisi
by peatmoss 8y ago
I prefer many things about RStudio over Jupyter! I have two main issues with Jupyter (Notebooks).
First, Jupyter Notebooks don't facilitate working with revision control very well. Each time a notebook is saved, a new mess of JSON is belched out. I think the path to collaboration via revision control should be as easy as possible for analysts. This model of notebook is pretty hostile to making the jump to collaboration.
By contrast, RStudio's "R Notebooks" (supports more than R) are human readable, and git revisionable, with no loss of functionality as compared to Jupyter Notebooks. This is the same model that Emacs's org-mode uses for a document with embedded, executable code snippets.
Second, while Jupyter Notebooks can be an easy path for someone with no computer experience to get started, it's very hard to scale the environment up to writing larger analytic projects. The notebook model that Jupyter provides doesn't allow you to escape the notebook without ditching the tools pretty much completely and learning something entirely new.
By contrast, RStudio makes moving between notebook computing and more traditional IDE support for R scripts very easy. A thing I have done that is easy in RStudio (or Emacs org-mode):
- start building a plain R script with just comments
- convert to an R Notebook where I essentially add rich documentation
- once things start to get unwieldy, I start to factor out code from my notebook into more reusable project modules. I then let a notebook report be the "tip of the iceberg" where I still have the write-up of my analysis and embedded supporting evidence like plots and tabular summaries.
At this last evolution, my notebook is really just a UI for the outputs of my reusable analysis code. If I want to take things further I can:
- Move away from a notebook / document presentation of my results toward an interactive application via Shiny.
I just don't see any way that Jupyter Notebooks are any easier than RStudio's tooling. I also see that RStudio's tooling facilitates moving up and down through different more or less technical interaction models. Jupyter Notebooks by contrast are a brittle environment that pretty much dictates you stay within their walls or learn something else entirely.