Home Comments Thread
New Thread

8 Comments

giscus-bot giscus-bot 2022-12-16 23:02:21
Guest *Karthik Ram* @ 2012-11-27 19:25:29 originally posted:

Great blog post, Yihui! I met with Fernando recently and we discussed several of these issues. You're absolutely right that python has the advantage of a huge community of non-academic users and developers that R lacks. I also agree that R isn't going away anytime soon. While tools like pandas will definitely serve the purpose as a general purpose toolbox for most users, R will still be key for many domain specific applications.

yihui yihui 2022-12-16 23:02:28

That is right. Although we have seen alternatives like packages for data frame (pandas), formula (patsy), graphics (matlibplot) and so on, Python will not eat us all :-)

Originally posted on 2012-11-27 20:16:09

giscus-bot giscus-bot 2022-12-16 23:02:30
Guest *Timothée* @ 2012-11-28 05:08:40 originally posted:

First, I really enjoyed your post. I felt in love with knitr when I had to prepare a course on R a few months ago (so thanks for that), and I use python a lot for research. I'm sure nobody will eat everybody. As an ecologist, I'm convinced that given that python and R have different niches, they will coexist peacefully. There might be some competition on the edges (reproducible research being one of them), but we probably have a lot to gain by using both tools for what they do the best!

yihui yihui 2022-12-16 23:02:30

Yes I absolutely agree; it is wise to use a combination of tools for what they are good for.

Originally posted on 2012-11-28 07:02:14

giscus-bot giscus-bot 2022-12-16 23:02:22
Guest *Fernando Perez* @ 2012-11-27 20:30:35 originally posted:

Hi Yihui, thanks for the kind words about IPython! I have to admit that my knowledge of R is small, so I have only seen knitr and related tools 'from the outside', but I love the fact that the R community is taking such a serious look at issues of worfklow and reproducibility, coming from multiple angles. I recall seeing the program for the last R user meeting in Tennessee, and there were a ton of interesting abstracts on the matter.

I hope we'll have a productive dialog over the years across both communities and that we can learn/copy/steal a lot of good ideas from each other :)

With the caveat that, as I acknowledge above, I know R only superficially, I do slightly disagree with you on how much R is a 'general purpose language'. While technically yes, one can do any general purpose task in basically any Turing complete language, my impression is that R is really so strongly designed around statistical data analysis and linear modeling that it is a somewhat awkward fit for modern software engineering. Again, I may be wrong, but my superficial impression seems supported by an in-depth analysis of the language (summary, full paper).

And that's where we've seen Python shine: the fact that it is first and foremost a general purpose language gives us scientists a huge army of software developers who build all kinds of non-scientific tools that are ready for us when we need them. And since, as I outline in this slide of my talk, scientific computing is rapidly spreading beyond number crunching into all manner of other needs, this is proving to be a great asset for us.

As I told Karthik yesterday, I think if anything Julia is a very interesting tool to look at for modernizing R: the Julia folks are extremely talented, knowledgeable and a great bunch to work with. They are really trying to unify the best of tools like Python and Ruby with the needs of high-level scientific computing, and I think they are doing a very good job overall (even if I wouldn't have followed the matlab syntax so slavishly).

But in any case, it's great to see these ideas coming from the R world, and I look forward to learning a lot more from what your community is producing!

yihui yihui 2022-12-16 23:02:29

Wow, I did not expect the ipython grand master would come here. Actually I agree with your disagreement by your definition. I guess I'm similar to you in the sense that I'm superficial about Python, so I can at most say what I saw instead of making comments.

I mean the main impression about R is statistics (as you said), which I believe is not a good enough description of R. But again, you are right, the non-statistical parts of R are often weaker as a "general purpose" computing language.

One (selfish) reason I wrote this post was actually to gently urge Emacs/ESS developers to support R Markdown earlier instead of staying in the Sweave/LaTeX world forever, given that the Japanese guy managed to embed ipython notebook in Emacs!

Thanks for your comments, and this is definitely a good motivation for me to learn more about Python and Julia, which has been on my agenda for really long time...

Originally posted on 2012-11-27 21:25:37

giscus-bot giscus-bot 2022-12-16 23:02:32
Guest *Isaac Xin Pei* @ 2012-12-12 16:52:11 originally posted:

hi Fernando,

Have you looked at this from the ruby world? http://pryrepl.org/
Ruby's scientific library is still in starting mode, but there are a lot of fanscinating ideas such as: http://xiki.org/

now I began to use ipython/scipy in many of my data wrangling, using R for analysis. Though I have been curious what might be the future for things such as: http://www.nongnu.org/gsl-shell/

you menionted Julia, in some way, luajit performance is at least the same, if not bettter than Julia. I don't know much about Julia, but use lua mutiple times analyzing my data.

Thanks, love to hear your perspective on these topics.

giscus-bot giscus-bot 2022-12-16 23:02:33
Guest *Mindey* @ 2013-10-02 17:01:17 originally posted:

I would think that instead of learning a bunch of languages, statisticians would rather focus on creating a meta-language for statistics, where we could write our statistical code once, and then have programs automatically generate optimized code in a language of choice -- be it R, Python, Julia, SAS code, or even in a combination of languages. ( extra thoughts on this here http://p.tl/DUsb ).

giscus-bot giscus-bot 2022-12-16 23:02:34
Guest *Kevin D'Auria* @ 2014-03-10 23:01:11 originally posted:

https://xkcd.com/927/

giscus-bot giscus-bot 2022-12-16 23:02:23
Guest *Software Carpentry* @ 2012-12-01 17:49:56 originally posted:

Thanks for your post, Yihui. We're starting to run R-based workshops through Software Carpentry as well as Python-based; if you or anyone else in the R community would like to get involved, please give us a shout (info@software-carpentry.org). In particular, we're shifting our Python teaching over to the IPython Notebook, and since it supports R as well...

yihui yihui 2022-12-16 23:02:31

Thanks, I'll keep that in mind.

Originally posted on 2012-12-03 20:27:37

giscus-bot giscus-bot 2022-12-16 23:02:24
Guest *Ihui* @ 2014-08-30 17:59:33 originally posted:

IPython notebook is just what the name says, a notebook. Some people are arguing it is nice for "reproducible" research... it is nothing like that. It is just a playground for running python interactively in really awkward way. You can't even compare this with kntir, which IS a nice tool for reproducible research.

RStudio + Rmarkdown + kntir + packrat (or similar packages) is an unparalleled powerful IDE for dynamic exploration of data and reproducibility, and there isn't anything like that in python.

How would you write a package + an academic paper with lots of projects together in an "environment" like IPython notebook? You just don't.

giscus-bot giscus-bot 2022-12-16 23:02:25
Guest *Ihui* @ 2014-08-30 18:05:12 originally posted:

Just to emphasize. The workflow with iPython notebook is terrible. It is not an IDE. The closest thing Python has to a scientific IDE is spyder, which looks last century software when compared to RStudio + Rmarkdown + knitr + shiny etc.

giscus-bot giscus-bot 2022-12-16 23:02:25
Guest *Ihui Abraao* @ 2014-08-30 18:21:00 originally posted:

Not to mention Rcpp and RStudio integration which is now more elegant than ever.

giscus-bot giscus-bot 2022-12-16 23:02:26
Guest *Yuxiang Wang* @ 2014-11-11 02:56:59 originally posted:

Great post Yihui! :)
In my research I used matlab -> python, and then I decided to learn some statistics and that's when I learned R. I don't think python is going to eat R or the other way around, just like excel is never totally replaced by VBA... I feel that R is much more script-based, and people see the result real-time, as they type the code. Scipy is more suitable for serially-connect large projects (e.g. I am doing solid mechanics and it'd be hard to apply R here since it's a mechanistic model with too many serial components, that one module build on another). Python is better for re-usable customize code, but that is at the cost of less one-liners for the most common statistical functions.
I guess at the end of the day, each user-base has their niche. C, Python, R, Excel... Each has their purpose. Just my thoughts after reading the post :)

Sign in to join the discussion

Sign in with GitHub