いろいろあります便利なツール

(作成980419)

まずはプログラム開発環境

私のようなびんぼーエンドユーザー の観点からいうと, PC-Unix にかぎらずUnix を使う最大の利点は お金をかけずに さまざまなプログラム開発ツールを揃えることができる, ということである. 例えば,いまのところもっとも人気のあるプログラミング言語である C/C++ のコンパイラgcc/g++ は市販のものより遥かに高性能 であると言われている. しかも無料で配布されており,いつでもどこからでも最新版 をダウンロードして入手できる.

これらのコンパイラ名の`g'はGNU プロジェクト [1] の産物であることを意味している. GNU の成果はGPL (GNU Public License) と呼ばれる 認可文書に基づいて配布されている. 消費者的ユーザーにとってこのGPL は以下のふたつの点で重要である; ひとつはそのソフトウェアが(多くの場合)無料である ということであり, もうひとつは,優秀なプログラマーたちによって開発された プログラムのソースコードを見ることができることである. とくに断らないけれど, 以下で紹介するプログラムの多くはこのGPL に従って 配布されている.

話が横道にそれた. プログラム開発言語の話を続けよう. 数値計算用言語として人気のあったFortran77 のGNU 版コンパイラは g77 である.Unix の世界がではFortran はあまり重視されていない ためか,このg77 は(こだわりのGNU プロダクツのわりには) とくに高性能ではない(Sun のコンパイラと速度性能を比較 してみた結果からの判断).しかし,ふつうUnix 用の Fortran コンパイラを買おうとすると数十万円の出費は 覚悟しなければならないので,まぁよいのではないだろうか [2]

Unix を用いるありがたさは free コンパイラだけではない. エディターであるvi やmule, デバッガ-のgdb, 構文チェッカーのlint, いくつにも分割されたソースファイルのコンパイルを管理するmake, ライブラリを作成するためのar などなど さまざまなツールが準備されている.

重要なスクリプト言語

以上のようなコンパイルするプログラミング言語だけでなく, `スクリプト型'と呼ばれるプログラミング言語があり,これらも また非常に重要である. テキスト処理を得意とするawk とsed , それらの統合しさらに様々な機能を付与したperl, 手軽にグラフィカルなインターフェイスを作成できるtcl/tk …… そしてもっともよく使うのは, Unix のコマンドを「バッチ処理」してくれるshell(スクリプト) で ある.

私自身,これらの言語のごく初等的な機能を 使っているにすぎないけれど, 仕事の上ではずいぶんと助けられている. 例えば 「データファイルをこれこれの方法で処理して, シミュレーションの入力用のファイルを構築し, つぎにパラメータファイルを○とおり用意して, プログラムはパラメータにあわせた 条件付きでコンパイル, それぞれ○回計算して, 結果として得られた『生出力』は圧縮保存, ×回ごとの結果を統計出力したものを ファイルA に保存して, ここまでの全行程が終わったらファイルA を 統計解析してファイルB に出力, ファイルB の必要な部分だけ抜き出して, グラフィックソフトウェア入力用の ファイルC を作成」 といった作業をすべて自動化できるためだ.

ところが,それに対して 「仕事の能率を向上させる」はずの パソコンを使って仕事している人たちの 多くはこういった作業を (データ処理の過程に限定したとしても) 私のような怠け者には不可能な英雄的努力で 克服しておられる. Excel などの「便利な」表計算ソフトウェア上で マウスを用いたコピイ&ペイストを 無限に繰り返す 手作業で対処しておられるようだ ……とかえらそーなことを言っているけど何を隠そう 私自身もしばしば「英雄的」になりがち [3] だったわけですが……

グラフ描き,作文,メイル,その他……

ここまでで紹介したのはUnix で使える便利な ソフトウェアのごくごく一部である. それ以外にもさまざまな「アプリケイション」プログラム が存在する. 例えばグラフ描画のためには gnuplot という便利なソフトウェアがある. このhtml ファイルはmule というエディタの yahtml というhtml 編集モードで wnn というかな漢字入力ソフトウェアを用いて 入力されたものである. 「ドロー」系のお絵書きソフトウェアが必要であれば tpng やidraw がある. 「ペイント」系のお絵書きソフトであれば, xpaint やGIMP がある. ポストスクリプトファイルを取り扱うために, ghostscript やghostview がある. 電子メイルはMew という高機能なメイラーがある. 本稿でここまでで述べたソフトウェアは ことごとく無料である.

私が日々愛用しているLinux にもいくつか有料ソフトウェアはある. Wolfram 社のMathematica は数値数式処理用プログラムとして有名であり, これのLinux 版もまたなかなか快適な性能である. Mathematica についてはいずれ稿を改めて紹介しよう. OmronSoft 社から販売されているWnn6 は強力なかな漢字変換プログラム [4] であり,日本語作文には重宝している. 同社の「ワープロ」dp/Note は購入したけれど, まだまだ十分には活用していない. そのうち何かの役立つのではないかと考えている [5]

脚注

[1] FSF(Free Software Foundation) のプロジェクト. この協会は「ソフトウェアはことごとくfree でなければ ならぬ」という精神で,ソフトウェアを開発し配布してくれて いるたいへんありがたい組織である. `GNU' は`GNU is Not Unix' の略らしい…… なんだかよくわかんないけど, なーに気にすることはあるまい.

[2] それにたいしてC/C++ コンパイラはGNU のものがあまりにも 高性能なので, Sun のクローンなどを作っている会社が 「いやー,どうせウチのコンパイラはgcc より 処理速度が遅いですから……」 ということで もはや性能競争を投げていたりすることもある.

[3] 私が大学院生時代に所属していた 「数理生物学講座」はコンピュータに精通した 猛者がそろっているという印象を持たれているようである. しかし,それはまったくの間違いであると言ってよいだろう. 「英雄的努力」を好む人たちも結構いる.

[4] フリーソフトウェアであるWnn4.2 も パラメータを最適化してやれば,けっこう快適である.

[5] Unix の世界では TeX という強力無比な文書整形組版プログラム (これも無料のソフトウェア) が普及しているので, いわゆる「ワープロ」はあまり発達して いなかった.



戻る