[fpr 3676] プログラミング言語の選択について

岡本安晴


 岡本@日本女子大学心理学科です。

 RとかPythonが薦められている理由に、「使いやすい」とか
「やさしい」があります。そのときに使われていたプログラミング言語に
対して、多くの人にとってより使いやすいものとして提案された
という側面があります。しかし、C++も、Cを人にとって使いやすいものに
するために提案されたものです。Cより使いやすいはずのものです。
C++があまりにも多くの機能が用意されているから理解するのが大変だ
という意見がありますが、必要な機能だけを選んで使えばよいことです。

 C++でのプログラムがどの程度のものか、サンプルプログラムを
http://y-okamoto-psy1949.la.coocan.jp/VCpp/illusion/Speed/
に用意しました。Scientific American: MIND, May/June 2014の
p. 69にある"More legs move faster?"を扱ったものです。
メインとなるソースコードも参考のため上記ウェブサイトに
表示しました。

 単純に、何々の方が何行で書けるのでC++より簡単だ
という説明には気を付けなければなりません。プログラムが
理解しやすいかどうかは、行数よりもその構造で決まります。
また、いまのエディタは自動的にコードを補完する機能が
あるので、字数が多いことは問題になりません。大事なのは、
アルゴリズムのポイントがパターンとして認知しやすいかどうかです。

 また、C++は、ピクセル単位で処理を書くが、Pythonは1つの関数を
呼び出すだけでよいという説明もあります。これも、C++の場合
ピクセル単位での処理を関数としてまとめてしまえばよいことです。
C++において、ピクセル単位での処理がコードとして明示されていると、
どういう処理が行われているのかわかります。しかし、この処理が
隠されると、具体的にどのような処理が行われたのかわかりません。
特に、視覚刺激として用いられる画像の場合、具体的なコードを見て
アルゴリズムを確認したいことがあります。画像処理以外でも、
例えば、MCMCのアルゴリズムなど、技術的な調整がいろいろ
効いてくるような場合、コードを直接調節する必要が生じます。

 総合的に考えると、C/C++のメリットは無視できないと思います。

横浜在住
岡本安晴





スレッド表示 著者別表示 日付順表示 トップページ

ここは心理学研究の基礎メーリングリストに投稿された過去の記事を掲載しているページです。