1999.3.1 最終更新 2003.6.30
ここでのお話しは PC-Unix で研究する場合のお話しです。
理系の研究において一番重要なツールはグラフを描画するツール だと思います。誰もが未経験なことをするのが研究ですから、 汎用ツールではかゆい所に手が届かない場合が多いと思います。 例えば、アンテナの指向性を描くには円グラフが必要ですが、 gnuplot のような汎用ツールでは書けません。
このようなときは次のようなライブラリがあると便利です。 そのライブラリは最低限
の機能を有しており、C や fortran から呼ぶことが出来、 出力先としては
をサポートしていることが望まれます。また、
ということも重要です。さらに欲張って
機能があると便利です。
ところが、PC-Unix で以上の事を実現できるツールは 研究室で内輪で使われているものは沢山あると思うのですが、 ネット上には見当たらないようです。
コンピューターのハードの性能は劇的に上がり、OS の機能も 多機能になり、アプリケーションは星の数ほどありますが、 グラフを描画するプログラムを自作するのは ひどく難しい時代になってしまいました。
以上の目的を満たすものとして私が作った calcomp 互換 パッケージがあります。 私自身はこれを使って論文に必要な図の ほとんどを出しています。また、このパッケージには 美しい点線を書く機能も持っているので、大変重宝します。
パソコンの世界の進歩は本当に凄まじいものがあります。 それに伴ってプログラミングは複雑化の一途です。
プログラミングは、
のように難易度が上がってきました。 Windows での MFC を使った C++ プログラミングは 「複雑さここに極まる」という気が狂いそうな世界のように 思われます。
大学の研究室では生徒は 4 年生で配属され、修士を含めて 3 年間 で卒業していきます。情報工学科以外の学科では、 3 年間で GUI のインターフェースを持ったある程度の規模を持つ プログラムを作成するのは、かなり難しくなりつつある ように思います。 Visual Basic , C++ Builder は VC++ よりは 難易度は下ですが、それでも、 「どんなクラスがあり、どんなメソッドがあるのか」という 概念構造を把握するのには時間が必要です。
その点、Unix は依然としてコンソールベースのシンプルな美しい 世界を維持しています。また、GUI の作成ツールとして tcl/tk という 使いやすいツールがあります。簡単な GUI 付きプログラム なら tcl/tk のフロントエンドと C などで書いたバックエンドが 最も開発効率が高いでしょう。 gtk+ でのプログラミングは Visual Basic や C++Builder などの Windows 上の RAD ツール に比べてかなり敷居が高いと思います。ヘルプの充実度が 全く違うように思われます。
グラフィックスに関しては、1986〜1993 頃の PC-9801 + MS-DOS の時代のグラフィックチップは「点を打つ」「線を引く」くらいしか 出来なかったですが、最新鋭の 3D グラフィックス チップは 3D の API を持ち、1999/3 の時点で チップ内の RAM と演算エンジンの帯域幅が 1.6 GB/sec という とてつもない速度で 3 次元の計算をやってのけます。
でも、線を書くという素朴な世界の用途も依然としてその重要性は 失われていないと思います。例えば、ホームセンターへ行けば 数千円で買える立派な本棚が売っていますが、少し特殊な形の 本棚が欲しい場合は、鋸とカナヅチの世界が必要です。
コンピューターの世界も同様に、素朴で簡単なことをする手作りの 世界もこれからも残っていくことでしょう。