• あなたの言語の物語

VBScriptが「推奨されない機能」になった。VBScriptは、旧Visual BASIC(VB)の文法をベースに作成された「スクリプト用」言語である。

VBScriptは、現在Windows 11 Ver.22H2に標準でインストールされているWindows Scripting Host(WSH。cscript.exeまたはwscript.exe)から利用することができる。かつてはInternet Explorer(IE)や、Internet Information Server(MicrosoftのWebサーバー)のASP(Active Server Page)でVBScriptは利用できたが、IEは、Ver.11(2019年)からデフォルトで無効となり、後継のEdge Legacyや現行のEdgeからは利用できない。ASPも2002年に後継となるASP.NETに切り替わっている。現状、VBScriptが使えるのは、Windows 10/11付属のWSHだけである。

そもそも、BASICは、MS-DOSやWindowsなどのオペレーティングシステムやWord、ExcelなどのOffice製品が主力製品になるまでのMicrosoftの稼ぎ頭で、Microsoftの基礎を作った製品だった。1975年のAltair BASICののち、8 bit マシンの多くが、MicrosoftのBASICをROMで搭載した。Apple II(Applesoft BASIC。1978年)やPET 2001(Commodore BASIC。1977年)、TRS-80(Level II BASIC。1978年)など、当時「御三家」と呼ばれた8 bitマシンにBASICを提供したことが大きな弾みになった。もちろん、日本では、PC-8001(1979年)のN-BASICがMicrosoft製である。1981年のIBM PCもMicrosoft製BASICをROMで搭載した。

Microsoftが1985年にパッケージ製品として出荷したのがQuickBASICだ。統合開発環境を含み、行番号が不要、SUB/FUNCTIONでのサブルーチン/関数定義、DO~LOOP、SELECT~CASEなどの制御構文といった現在のMicrosoft BASICの基本文法が確定した。

1991年のVisual BASIC(VB)では、方向性を大きく転換する。オブジェクト指向を取り入れ、GUIパーツに対応したオブジェクトをウィンドウに配置、そのメソッドを記述することで、GUIアプリケーションの開発を可能にした。ただし基本的な文法は、QuickBASICのものを引き継いだ。

その中で、Windows 95に付属していたのが、ActiveScriptingを使うWindows Scripting Host(WSH)(写真01)だ。VBScriptは、そのスクリプトエンジンとして提供された。

  • 写真01: 現在のWindows 11でも、cscript.exeやwscript.exeを使うことでVBScriptを実行できる。VBScriptからは、メッセージボックスをmsgbox関数で表示可能

ActiveScriptingは、COMオブジェクトを介し、スクリプト機能を搭載するアプリケーションである「スクリプティングホスト」と、スクリプトを実行する「スクリプティングエンジン」を結びつける。このActiveScriptingに対応するだけで、どんなアプリケーションもスクリプト機能を簡単に実装できる。当時、多くのサードパーティ・アプリケーションがActiveScriptingでスクリプト対応を行った。VBScriptが30年弱も生きながらえたのは、こうした背景もある。

スクリプトエンジンはCOMを介して、スクリプティングホスト側の機能を扱うことができ、ホストアプリケーションの制御をスクリプトから可能にする。どんな言語でもスクリプティングエンジンを実装すれば、ActiveScriptingのスクリプト言語として動作することができた。IEもActiveScriptingに対応しており、HTML内でVBScriptなどを使うことができた。

Windows 95が作られたとき、Microsoftは、COMをオペレーティングシステムからアプリケーションに至る主力技術とした。このため、COMを扱える言語を提供する必要があった。Visual BASIC 4.0やVisual BASIC for Applications(VBA)、WSHはそのために用意された。 WSHは、MS-DOSのBATCHに代わるCOM対応のスクリプト言語として盛んに喧伝され、ある程度の利用はあったが、広く普及するには至らなかった。COMやこれをベースにしたActiveXは、セキュリティ的な問題があり、Microsoftは主力をCOMから.NETに移す。これに伴い、COMに基盤を置くVBScriptやVBAも運命を共にする。

今では、さまざまな言語が簡単にインストールでき、多くの言語ライブラリでWindowsの制御も可能だ。ExcelでさえPythonが使えるようになっている。BASICをあえて選ぶ理由はなくなった。1970年台、筆者がマイクロプロセッサをさわり始めた頃、個人で利用可能な高級言語はBASICしかなかった。あれから40年、広く使われたMicrosoftのBASICだが、そろそろ終わりを迎えたようである。

今回のタイトルネタは、テッド・チャン(Ted Chiang)の「あなたの人生の物語」(Story of Your Life)である。1998年に出版された短編集のタイトルであり、同題の作品を含む。この作品は、2016年に「メッセージ(邦題)」として映画化もされた。原題Arrivalだか、過去に同名の宇宙人侵略映画“The Arrival”(邦題アライバル/侵略者)が、公開されている(これが原因かどうかは知らないが……)。原作は、言語(学)系SFともいうべきもの。それを映像化した映画も合わせて、一読、一見の価値はある。