tags:

views:

212

answers:

5

I am trying to find out whether the R programming language is interpreted or compiled. Can't seem to find this info.


Edit I should have said interpreted or compiled to begin with. Commenters are absolutely right - static or dynamic has nothing to do with whether the language is interpreted or dynamic.

+1  A: 

R doesn't compile. There are projects that try to get it compiled: http://www.hipersoft.rice.edu/rcc/ , http://www.rforge.net/r2c/ but I can't find any currently supported.

That said, the performance on modern hardware seems reasonable for even larger workloads I have thrown at it (millions of records).

Godeke
Those aren't ready yet. See this related question: http://stackoverflow.com/questions/1452235/deploying-r-without-r-into-c-or-c
Shane
The folks at Revolution Computing (http://www.revolution-computing.com/) are working on a version of R that's supposedly a few times faster than the standard distribution. It's still interpreted, though.
John D. Cook
John, REvo R is still essentially the same R but it ships with MKL (faster blas) and (somewhat) easier parallel usage. The engine is identical for all intents and purposes.
Dirk Eddelbuettel
Two downvotes for providing links to incomplete compilers (which make the point that it is interpreted pretty clear)? Is "read the FAQ" *really* the new gold standard round here?
Godeke
+5  A: 

Yes, the R language is interpreted.

NawaMan
Just to clarify your answer, yes it is what?
Shane
Question: Is R language interpreted? -- Answer: Yes, it is.
NawaMan
Thanks. I was just reading the full question: "I am trying to find out whether the R programming language is interpreted or static or dynamic."
Shane
+1  A: 

It could be either... you can build a compiler or interpreter for any programming language. The language SHOULD be agnostic to the implementation :)

Polaris878
Absolutely true, but in practice, some languages get compiled and some get interpreted. When's the last time you saw a C interpreter? Not that you can't write one, but no one ever bothers to do so.
Michael Kohne
why the downvote?
Polaris878
Still, educating people that there's a distinction they're missing is a good thing.
+7  A: 

The R FAQ says: "The core of R is an interpreted computer language".

Michael Kohne
+4  A: 

Polaris878 is absolutely right. It's better to say that the default implementation of some language is interpreter or not. But not the language itself.

The question sounds very strange for me. "interpreted or static or dynamic"... How can we compare translation strategy with typing?

And once again we should be very careful with terminology. It's better to say language with static/dynamic typing than static/dynamic language.

kemiisto
+1 for raising very important points. It's especially important to dispel the OP's apparent notion that interpreted/static/dynamic are three possible values for the same attribute of a language. The latter two are completely orthogonal.
rmeador
I should have said interpreted or compiled.
AngryHacker