Column -スクリプト言語ミレニアム- 1 June 2000

 私の最初に出会ったスクリプト言語はJGAWKです。エーアイ出版の「入門JGAWK」(伊藤博康著、1992年、ISBN4-87193-171-4)を手に取ったのがコンピュータによるテキスト処理の始まりでした。その当時はまだPCは高価だったので、ワードプロセッサーのOASYS上でMS-DOSをフロッピーベースで動かしはじめていました。その上で動くJGAWKはプログラミングの楽しみを与えてくれたのです。それ以前はBasicをベーシックマスターJr.で動かす程度でカタカナで情報処理をしていたのですが、それと比べると日本語が取り扱える上に自在に加工できる素晴らしいプログラミング環境が手に入ったのです。「MS-DOSテキストデータ料理学」(1992年)が翔泳社から出たのもその頃で、「フリーソフトウェア派宣言」(1991年)によってNIFTYからフリーソフトウェアをダウンロードして利用するのが流行していました。アスキーの「AWKを256倍使うための本」(志村拓、鷲北賢、西村克信共著、1993年、ISBN4-7561-0162-3)も出版され、AWKはMS-DOSパワーユーザーにとって必須のアイテムになりました。私はAscii誌の小さなコラム記事で知ったJPerlをNIFTYからダウンロードして使い始めていました。AWKが基本的にはBEGIN部とEND部の間でフィルター的な処理をするという基本的な構造を持っているのに対して、Perlは本格的な汎用プログラミング言語でした。これはBasicよりも凄いと喜んだものです。特にテキストを加工する用途では大変複雑な処理を簡単に実現できましたから。(無論AWKでも複雑な処理は可能であることを申し添えておきます。)

 時代は今や20世紀最後の年、2000年。スクリプト言語の今後の動向について概観しておくことは無駄ではないでしょう。スクリプト言語のBig3と言われるPerl、Python、Tcl/Tkに加えて、日本発のRubyがオブジェクト指向の本格的なスクリプト言語として登場し、グローバルな認知を受けつつあります。また、ActivePerlをWindows上のPerlとして定着させたActiveState Tool Corp.はPythonにも食指を伸ばし、さらにはVisualPerl、VisualPythonをFuture Projectとして打ち出しています。MicrosoftのVisual Studio 7を開発環境として使えるようになるのです。さらにはPythonで作られたDigital CreationsのアプリケーションサーバーZopeをPerlで動作させることをアナウンスしています。スクリプト言語の世界はミレニアムを迎えて大変興味深い展開になりつつあります。

 Perlは1986年にLarry Wallにより作られましたが、現在のPerlの持つ機能は素晴らしいものです。CGIで使われる言語として大変な隆盛を迎えていると言えるでしょう。用途はCGIだけでなく、Internet上のリソースを調べてその結果を新しいWebページに自動的にまとめるような仕事も簡単にできるようになりました。多くの方の努力によってWindows上でも高機能で高速のプログラミングが可能です。日本語処理に便利なJPerl for Win32は@とりさん、和泉宏明さん、わたなべひろふみさん、鈴木紀夫さんのサポートによって継続して使えるようになっています。スクリプト言語の最初に「J」が付くと最近は「Java」を意味することが多いのですが、「Japanese」の意味なのです。Perlのバージョンが5.6に上がってUnicodeへの対応がなされた今、SJIS対応のJPerlの行方が多少心配ではあります。

 Pythonは1991年にGuido Van Rossumによって作られました。オブジェクト指向スクリプト言語であり、Perlよりも大規模なプロジェクトに向いていると言われています。Infoseekの検索エンジンはPythonで書かれているそうです。他の有名なアプリケーションとしては、アプリケーションサーバーやポータルを作成するためのZope、Interactive 3D Graphics作成ツールAlice、ソリテアゲームPySol等があります。また、KaaEditというPythonをスクリプト言語として採用したWindows用のエディタがあります。SJIS対応のPythonを配布されている石本敦夫さんが作者です。

 John Ousterhoutは1987-1988年にTcl/Tkのアイデアを思いついたそうです。今ではTcl/Tkは2バイト文字への対応が最も進んでいるGUIを持つスクリプト言語です。PerlやPythonのようにSJIS対応を待つ(お陰様で今ではほとんど同時にリリースされますが)必要がなくなったという意味では画期的です。そのままではWindowsの日本語入力時にインライン変換ができませんが、ありがたいことにパッチを当てたtk83.dllが公開されました。

 Rubyは日本発の最初の本格的スクリプト言語です。1996年にリリースされたそうですから、最新のスクリプト言語ということができます。まつもとゆきひろさんを中心にメーリングリストを利用して活発な開発が進んでいます。Windows用はわたなべひろふみさんがサポートされています。最近comp.lang.rubyが開設されるなどグローバルな認知が進んでいるわけですが、Pythonよりも本格的なオブジェクト指向言語であることを活かしてどこまで先達のスクリプト言語に迫れるか。21世紀に向けて大きく発展することが期待されます。

 Larry Wallは今はO'Reilly & Associatesに所属しています。最近、Guido Van Rossumを中心とするPythonの開発チームは非営利組織のCNRIからBeOpen.comのPythonLabsに移ったことがアナウンスされています。ActiveStateとの関係はどのようになるのでしょうか。Tcl/TkをサポートしているScripticsはAjuba Solutionsと名前を変えました。John Ousterhoutが CTOですね。スクリプト言語もInternetの進展とともにビジネスの世界に次第に深く関わっていくようになりました。さて21世紀に向けてどのような展開が待っているのでしょうか。


Written by Kazuo Fujioka
<kazuf@mars.dti.ne.jp>
TS Network ☆ミ >>