Rはプログラミング言語でない?
データ・サイエンスのプログラミング言語はRからPythonに置き換わる - エキサイトニュース(1/3)
Pythonが優勢になりつつあるという記事の主旨には反対しない。(統計解析以外のライブラリが圧倒的に充実しているから。)でも以下に見る細部はなんだか的外れだと思う。(ちなみに私はRは3年くらい、Pythonは3ヶ月ほど使った程度。)
このシフトの理由はいくつかあるようだが、第一にはPython自体が汎用的で比較的学びやすい言語であるのに対し、Rが習得するにあたってやや複雑であることがあげられるだろう。
とくにそんな事はない。どっちも同じ程度に使いやすい汎用言語。「汎用言語」という言葉があるかは知らないけど、チューリング完全でほとんどなんでも出来る言語のこと。
Rは実際にはプログラミング言語ではない Rを覚えることに苦労する人が多い理由として考えられるのは、Rが実際にはプログラミング言語ではないからかもしれない。R専門家のジョン・クックいわく、Rとは「統計のためのインタラクティブな環境」であり、厳密にはプログラミング言語ではないのだ。彼はさらに「Rをプログラミング言語だと考るのではなく、Rがプログラミング言語を内包しているのだと考えた方が良いと分かった」と述べている。 つまりRは伝統的なプログラミング言語とは本質的に異なっており、この点が技術者にとってRのニュアンスを理解しにくいものにしているのだ。
Rは他のLLと似たような汎用言語で統計関係のライブラリが特に充実しているくらいが違い。あとは本当に普通のプログラミング言語。
なぜRは普通のプログラミング言語でないといいたがる人がよく居るのか分らないけど、
もしかするとその理由はSPSSやSASをやっていた人に「プログラミング言語だから」といって尻込みしてもらいたくないからなのだろうかと想像している。
RはSASやSPSSなどの統計ツールに精通している技術者であっても習得が難しいとボブ・ミュンヘンは強調している。Rにはマクロやマトリックス言語などが組み込まれているので、SPSSなどのツールと違ってそれらの言語を別途マスターしなくて済む。その点は確かに楽だ。しかしRがStataのように動作するものだと期待すると失望させられることになる。 Rは特殊なのだ。だから難しい。
SASやSPSSを使ってた人にとってRが難しいのはむしろ、普通の汎用言語をプログラムした事が無い人にはプログラミング言語を理解するのが難しいからじゃないかな。普通の解析をするくらいならプログラミングは必要なくとも、何となく気持ち悪さとして感じるはず。
だからこの文章は、普通の言語をやっていなかった人に取ってRが難しいかという話と、普通の言語をやっている人に取って難しいかという話を、不当に混同させているように見える。
The comments to this entry are closed.
Comments