M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

VBScriptについて久しぶりにすこし勉強

Vbscript Pocket Reference

Vbscript Pocket Reference

VBScriptについて久しぶりに・・・数年ぶりにすこし勉強しました。前回はASP.NETでつくられた業務用のWebアプリケーションの改修プロジェクトのためで、今回はシステムメンテナンス業務で使うツールの新規開発/既存改修のためです。

それにしてもVBScriptについてはその仕様を調べるにつけ、残念な気持ちがとめどなく湧いてきてしまってしかたありません。Visual Basicの亜種であるこの言語はScriptという接尾辞をともなっているにもかかわらず、それにふさわしい構文レベルの軽量性を一切持ち合わせていません。Scriptというのは「インタープリタ」の言い換えに過ぎず、ユーザは言語が強制する冗長な構文*1、操作方法の非一貫性*2に付き合ってやる必要があります。

それでもこの言語について学ぶ必要があるのは、なんといってもWindows OSであれば(でのみ)ユーザ側でランタイムをインストールするなどのコストなしに実行可能なプログラムが記述できるから、ということになるでしょう。私は基本的に応用性のない技術は好きになれません。それでもこの言語でしか得られないメリットがあるのです*3

*1:なぜFunctionの戻り値は「Function名 = ...」という表記をとるのでしょうか? なぜブロックを閉じるのに毎回「End If」「End Function」「End Sub」などという長ったらしい文字列を入力せねばならないのでしょうか? なぜステートメント複数行に渡り記述するためにアンダーバーが必要なのでしょうか? かように、VBScriptはとにかく「書かせる」言語です。もっと簡潔な構文はいくらでも考えられるはずです。しかしそれをあえてしないのがこの言語なのです。

*2:例えばSubとFunctionの定義や呼出しの方法に関する非一貫性は、JavaPythonといったなんにせよ今日メジャーな言語のユーザにとって、単にそれがルールだからという理由だけで従わなくてはならない、理不尽で面倒なルールでしかありません。

*3:だからまたこうして機会を見つけては縷々恨みごとを述べざるをえないのです