3 ms·
In the past when I’ve poked around with Julia, I used Emacs Speaks Statistics. If you’re familiar with using R in this context, you’ll probably find developing
by peatmoss 8y ago
In the past when I’ve poked around with Julia, I used Emacs Speaks Statistics. If you’re familiar with using R in this context, you’ll probably find developing and interacting with Julia to be quite easy.
If the Julia community could manage to get Julia support into RStudio, I think we’d see a more accelerated uptake. I’ve heard rumblings that RStudio has at least thought of supporting Python in RStudio (more than they do now with R Notebooks). I can’t help thinking that if RStudio were to add support for an additional language, that Julia might be a good choice.
All in all I’d prefer to do data things in Racket or another lisp, but Julia feels good. I could see both the Python and R communities being tempted. Here’s hoping!
- jjoonathan 8y agoWhat parts of RStudio do you prefer over Jupyter?
- peatmoss 8y agoI 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.
- cwyers 8y agoNot the person you're replying to, but: almost all of them. RStudio is useful for more than just notebooks, as opposed to having to switch between an IDE for code and something else for notebooks. It has more affordances than Jupyter -- a full console, for instance. RMarkdown notebooks play much more nicely with version control than Jupyter notebooks.
- privong 8y ago> All in all I’d prefer to do data things in Racket or another lisp Do you have any suggestions/resources specific to this? I almost exclusively work with python but am starting to learn Racket (mostly just for fun). But if I could do some analysis in Racket, that would be awesome as well.
- peatmoss 8y agoNot really. I mean, there's a whole lot of libraries that exist for Python and R that you just won't find outside Python and R. Certainly you can do many data processing tasks in Racket, but you just won't find Hasselblat-Hertzgeminer method (I made that up) available off the shelf for Racket like you might for Python or R. But, I do find Racket to be a nicer language than R or Python. I like to imagine that Racket's best-of-breed support for building DSLs could yield a more expressive data / stats environment. People always talk about the unassailability of Python and R in data science. But I think that's sort of defeatist. Not very many years ago people would have laughed at you if you suggested doing statistics with Python rather than R. Even though Python is still a long ways behind R in statistical libraries, people have built enough that Python too is viable for many things. So too could Racket (or Julia!) become more useful than they already are.
- privong 8y agoOkay, thanks for the clarification. I suspected you'd meant the ecosystem wasn't there (yet), but wanted to make sure. I had seen this Racket data science repo, but am not yet proficient enough with Racket to properly assess it: https://github.com/n3mo/data-science https://github.com/n3mo/data-science
- ellisv 8y agoR Markdown already supports Julia [0] and there is a JuliaCall package on CRAN. Anyway I find Atom to be a perfectly fine editor. [0] https://bookdown.org/yihui/rmarkdown/language-engines.html#julia https://bookdown.org/yihui/rmarkdown/language-engines.html#j...