はじめに
これは、Advent Calendar Visual Basic 2024の25日目の記事となります。
VBScript(Microsoft Visual Basic Scripting Edition)は、2027年頃に Windows から完全に削除される予定となっております。
供養する上でも、VBScript を振り返ってみることにしました。
ここ数年、最終日に歴史的なことを書いています。
背景と年代
1995年
8月24日に Windows 95 が発売されると、初日で70万本以上が売れるという大成功を収めました。遡ること2ヶ月前の 1995年5月26日、ビルゲイツは「インターネットという大津波」というタイトルのメールをマイクロソフトのエグゼクティブスタッフ全員に発信しました。
そのメールがファックスされたPDFとそれを文字起こしした記事
https://lettersofnote.com/2011/07/22/the-internet-tidal-wave/
1月にマイクロソフトは、スパイグラス社(Spyglass Inc)から Enhanced NCSA Mosaicのライセンスを購入しており、これをベースにIEの開発スタートしています。約100人の開発者を3か月の間につぎ込み、Spyglassの技術を使用しているが、Spyglassからのソースコードは使用せずに開発されたが、「ページが表示できる」というだけで機能が低く、table タグにも未対応でした。
Windows 95 の発売直後に有償のアドオンパックである「Plus! for Windows 95」に、この IE 1.0 が含まれていました。ちなみに 日本語版には 機能的に Netscape に追いつ IE 2.0 が同梱。
12月4日、Netscape と Sun Microsystems が JavaScript を「インターネットコミュニティ全体が利用できるオープンでフリーライセンスの提案標準」を発表します。
https://www.tech-insider.org/java/research/1995/1204.html
1996年
年初から Netscape Navigator の JavaScript に対抗するものとして、 Microsoft Windows Script Technologies という Windowsプラットフォーム上でスクリプト言語を使用してシステムやアプリケーションを制御するための技術を開発します。このテクノロジには VBScript/JScript も含まれていました。著作権で保護された「Java」という単語を避けるため、JScript という名称となった。
3月、マイクロソフトの年次プロフェッショナル開発者会議(PDC)でビル・ゲイツは ActiveX と呼ばれる一連のインターネット技術を発表しました。
1996: Microsoft Activates the Internet With ActiveX & JScript
ActiveXはインターネットやイントラネット上でのインタラクティブなコンテンツやアプリケーションを実現するために使用されます。
カンファレンス後のメディア レポートで ActiveX が Netscape プラグインとJava アプレットの両方と比較されたのは偶然ではありませんでした。
8月12日 Netscape社が、司法省へ手紙を送ります(ブラウザ戦争勃発)
8月13日に Netscape社が Javascript のライセンスを供与しなかったため、JavaScript 互換のスクリプト言語 JScript 1.0 と共に VBScript 1.0 が、IE 3.0 に実装されました。IE 3.0は提供開始から6時間で約32,000人がアクセスされ、1週間で100万本がダウンロードされています。12月のゾナ・リサーチ社発表のブラウザシェアでは、Netscape Navigator 70%、Internet Explore 28%(5月は7%)となっています。
8月20日に Netscape社の手紙が公開され、8月22日にマイクロソフト社が声明を発表します。
12月10日に 大幅に拡張した VBScript 2.0 が IIS 3.0(Internet Information Server) で導入されたことで、ASP 1.0(Active Server Pages)のスクリプトとしてバックエンド処理を活用する領域で活用されるようになります。同時期に主要なデータ アクセス テクノロジとして ADO(ActiveX Data Objects)が導入されました。
同時期に Flash (当初は FutureSplash Animator)が、12月にリリースされました。
1997年
9月30日に IE 4.0 と IIS 4.0 と ASP 2.0 と VBScript/JScript 3.0(Debug関数が追加)をリリースされます。IE 4.0 からレンダリング エンジンが Trident に変更されます。Windows のシェル自体が更新され、Windows エクスプローラーと IE が統合(Active Desktop)されました。この Windows とブラウザーの統合が後に独禁法関係の紛争の元となる。
Javascriptの標準化を目指す
Netscape Navigator社は Jscript と Javascript というブラウザ互換性のない状態を解決に向け Javascript を標準化しようと画策し、ECMAという標準化機関に Javascriptの標準化を依頼し、6月に ECMA-262 初版が公開されます。
WSH(Windows Script Host)
Windowsでは、MS-DOSの時代から伝統的にバッチファイルが実装されていたが、機能追加されることでバッチファイルは初心者には非常に使いづらいシステムになってしまった。そのため、より簡単に複雑なスクリプトを記述できるようなシステムが求められ、Windows Script Host が誕生した。
11月に Windows NT 4 Option Pack のリリースで初めて WSH が搭載された。WSH は、いくつかのコア システム リソース (レジストリ、ネットワーク、プリンター、ファイル システムなど) を公開し、システム管理者がスクリプト言語(主に VBScript/JScript)を使用してそれらのリソースにアクセスしたり制御したりするスクリプトを作成できるようになりました。サーバー管理者は一般的な管理タスクを処理する高度なスクリプトを作成できるため、人気を博しました。
1998年
1月に Netscape Navigator社は、Netscape Communicatorの無料配布を開始、ソースコードもオープンソースとして無償公開します。しかし、シェアが50%に低下します。
6月25日に Windows 98 がリリースされ、WSH 1.0 が標準搭載(それ以前は、別途ダウンロードにより使用可能)されました。この Windows 98 に IE 4.0 が標準で搭載され、強力な市場シェアを築く要因となった。
11月に世界最大のISP AOL社が$4,200Mで Netscape社を買収しました。
1999年
3月18日に IE 5.0 と VBScript/JScript 5.0をリリースします。
この VBScript 5.0 からはクラスの作成をサポート(継承の機能はない)およびEVal関数など追加等、大幅に機能拡張される。
IEのシェアが Netscape を上回ります。
2000年
2月17日に IE 5.01 と Windows 2000 をリリースします。OSには VBScript/JScript 5.1を標準搭載。
7月17日に IE 5.5 と VBScript/JScript 5.5 をリリースします。
VBScript 5.5で、SubMatches Collection関数が追加され、ようやくまともな正規表現ライブラリ(Microsoft VBScript Regular Expressions 5.5)となった。それまでの 1.0は、簡易な正規表現ライブラリで複数行へのマッチングオプションなどは考えられていなかった。
9月14日に Windows MEをリリースします。OSには VBScript/JScript 5.5を標準搭載。
2001年
8月27日に IE 6.0 と VBScript/JScript 5.6 をリリースします。
10月25日に Windows XPをリリースします。OSに VBScript/JScript 5.6を標準搭載。
VBScript 5.6 が最終バージョンとなります。
2027年
フェイズ3で「VBScript」に関わるすべてのダイナミックリンクライブラリ(.dllファイル)はなくなるため、依存するアプリやシステムは動作しなくなる。
The scope of VBScript deprecation includes only vbscript.dll and no other libraries. This shall not impact any projects that are not dependent on vbscript.dll.
VBScriptの非推奨範囲はvbscript.dllのみで、他のライブラリは含まれません。これは、vbscript.dll に依存していないプロジェクトには影響しません。
scrrun.dll内のFileSystemObjectとDictionariesは大丈夫ですが、vbscript.dll内の正規表現(Regular Expressions)は使用できなくなりそうですね。
年表
年月日は、米国版のリリース日とする。
年 | 出来事 |
---|---|
1996 | 8月13日に IE 3.0 と VBScript/JScript 1.0をリリース |
1996 | 12月10日に IIS 3.0 と ASP 1.0 と VBScript/JScript 2.0をリリース |
1997 | 9月30日に IE 4.0 と IIS 4.0 と ASP 2.0 と VBScript/JScript 3.0をリリース |
1998 | 6月25日に Windows 98 と WSH 1.0 をリリース、OSに標準搭載 |
1998 | 6月に Visual Studio 6.0 と VBScript/JScript 4.0をリリース |
1999 | 3月18日に IE 5.0 と VBScript/JScript 5.0をリリース |
2000 | 2月17日に IE 5.01 と Windows 2000をリリース、OSに VBScript/JScript 5.1を標準搭載 |
7月17日に IE 5.5 と VBScript/JScript 5.5をリリース | |
9月14日に Windows MEをリリース、OSに VBScript/JScript 5.5を標準搭載 | |
2001 | 8月27日に IE 6.0 と VBScript/JScript 5.6をリリース |
10月25日に Windows XPをリリース、OSに VBScript/JScript 5.6を標準搭載 | |
2002 | 1月5日に ASP.NET 1.0をリリース |
2006 | 10月18日に IE 7.0 と JScript 5.7をリリース |
11月14日に Windows PowerShell 1.0をリリース | |
2009 | 3月20日に IE 8.0 と JScript 5.8をリリース |
2017 | 10月17日に IE 11.0 をリリース、IE11からVBScriptの実行が初期状態で禁止 |
2023 | 10月に マイクロソフトが VBScript を非推奨とすると公表 |
2024 | 6月13日に マイクロソフトが VBScript の廃止スケジュールを公表 |
2027 | Windows から完全に削除 |
最後に
VBScript をテーマに書いてみましたが、Chat GPTのおかげて色々質問して、それなりの回答くれるので逆にまとめるのが大変になってしまいました。
なんか、気になったら追記とかしておきます。
今年もAdvent Calendar Visual Basic 2024が無事に終わりました。参加して頂いた方々、記事を読んでいた方々、ありがとうございます。