next up previous contents
Next: 目次 Up: 1.1 はじめに Previous: C の勉強の仕方

どういうプログラムに C 言語を用いるべきか

筆者が初めてプログラムを書き出した頃は (1980前後)、 数値計算プログラムは Fortran で書けと言われたものである。 それが就職した頃 (1990) には、 既存の数値計算ライブラリィを利用しない場合には、 C でも良いと考える人が増えていた。

一方、今では MATLAB のようなソフトウェアが普及していて、 多くの数値計算プログラムが MATLAB で書く方がずっと簡単に作成でき、 かつ十分効率的に実行できるようになってしまった (しばしばユーザーが C で 書くよりも高速に動作する)。

また、長年大きな問題となっていて、グラフィックスや GUI に関して、 近年登場した Java は大きな優位性を持っている。

そこで、今では次のように考えている。

例えば、最近学生に書かせたプログラムで説明すると、

  1. 『区間演算をサポートしたプログラミング言語処理系』 … この手の、システムの細かいことをいじる必要があり、 効率が要求されるプログラミングは C 言語を採用するのが良いと判断した。 yacc (bison) のような C 言語用のこなれた構文解析器があったことも要因である。
  2. 『円盤領域における Laplacian の固有値問題』… こういう線形計算がらみのは断然 MATLAB である。 C や Java で固有値問題のライブラリィを使えるようにするのは少し面倒だし (特に Windows 環境)、たとえライブラリィがあっても、 プログラミングの手間が違う。
  3. 『渦糸の力学系』, 『BZ 反応のシミュレーション』… こういうのは常微分方程式であり、実行効率はさほど問題にならない。 ユーザーインターフェイスの部分が使い勝手 (実験の作業効率) を大きく左右 する。こういうのは Java の一人勝ちだ。


next up previous contents
Next: 目次 Up: 1.1 はじめに Previous: C の勉強の仕方
Masashi Katsurada
平成18年4月28日