2009-11-04 261 views
6

我想知道是R programming language是解釋還是編譯。似乎無法找到此信息。是R語言解釋?


編輯 我應該說解釋或編譯的開始。評論者是絕對正確的 - 靜態或動態與語言是否被解釋或動態無關。

+1

解釋/靜態/動態?當我們談論編程語言時,這三個詞不會韻... – 2009-11-04 22:50:15

回答

15

R FAQ說:「R的核心是解釋的計算機語言」。

2

R不編譯。有些項目試圖讓它編譯:http://www.hipersoft.rice.edu/rcc/,http://www.rforge.net/r2c/但我找不到任何當前支持。這就是說,現代硬件上的性能對於我已經投入的甚至更大的工作負載(數百萬條記錄)似乎是合理的。

+0

那些還沒有準備好。看到這個相關的問題:http://stackoverflow.com/questions/1452235/deploying-r-without-r-into-c-or-c – Shane 2009-11-04 22:31:01

+0

Revolution Computing的人(http://www.revolution-computing.com /)正在研究R的版本,據推測其比標準版本要快幾倍。但它仍然被解釋。 – 2009-11-04 22:36:19

+1

John,REvo R仍然是基本相同的R,但它帶有MKL(更快的blas)和(稍微)更容易的並行使用。對於所有意圖和目的,引擎是相同的。 – 2009-11-05 00:31:21

8
+1

只是爲了澄清你的答案,是的,它是什麼? – Shane 2009-11-04 22:16:47

+6

問題:是否解釋R語言? - 答:是的。 – NawaMan 2009-11-04 22:21:09

+1

謝謝。我只是在閱讀完整的問題:「我試圖找出R編程語言是解釋的還是靜態的或動態的。」 – Shane 2009-11-04 22:28:28

5

它可以是......您可以爲任何編程語言構建編譯器或解釋器。語言SHOULD是不可知的執行:)

+3

絕對如此,但在實踐中,某些語言會被編譯,有些會被解釋。最後一次看到C解釋器的時間是什麼時候?不是你不能寫一個,但沒有人會這麼做。 – 2009-11-04 22:18:34

+0

不過,教育人們他們缺少的區別是件好事。 – blahdiblah 2009-11-04 22:38:06

+2

C解釋器? 80年代中後期:http://www.computinghistory.org.uk/det/12586/HiSoft-C-Interpreter/ – Spacedman 2011-04-06 17:17:50

5

Polaris878是絕對正確的。最好說一些語言的默認實現是解釋器或不解釋器。但不是語言本身。

這個問題對我來說聽起來很奇怪。 「解釋或靜態或動態」...我們如何比較翻譯策略和打字?

再次,我們應該非常小心的術語。靜態/動態類型的語言比靜態/動態語言更好。

+0

+1提出非常重要的一點。特別重要的是要消除OP的解釋/靜態/動態三種可能的語言觀點。後兩者是完全正交的。 – rmeador 2009-11-04 23:16:52

+0

我應該說解釋或編譯。 – AngryHacker 2009-11-05 00:35:58