マイクロソフトは今年末に開発環境の新製品「Visual Studio 2005」の出荷を始める見込みだ。すでにベータ版(日本語ベータ2)がダウンロードできるようになっているので試した方も多いと思う。

 実際に使ってみると,良くできていると感じる。例えば,コード片の再利用を援助する「コード・スニペット」や,リファクタリングを支援する機能などはとても便利だと感じた。また,「エディット・コンティニュー」も生産性を上げてくれるだろう。

 良くできていると感じると同時に,「Visual Basic(VB)ユーザー,特にVB 6.0ユーザーにずいぶんと気を遣っているな」とも感じた。それほど,VBの機能拡張が目立つ。

 その最たる例がMyクラスだ。これは,VBのためだけに用意したクラスで,.NET Frameworkが提供する機能の中から,VBユーザーがよく使いそうなものをコンパクトに再構成したものだ。「My」というクラスを基底クラスとしているので,どの機能を使うにしても取りあえずMy以下を探せばよい。

 前バージョンまでは,広大な.NET Frameworkのあちこちを探し回らなければならなかった局面でも,Myクラスを利用すればかなり省力化できる。Visual Studioが備えるIntelliSenseを利用すれば,もっと便利に使える。取りあえず「My」と打ち込んでおけば目的のメソッドやフィールドを探していける。

 また,フォームへアクセスするコードを書くときに,宣言する必要がなくなった点もVB 6.0ユーザーへの配慮だ。VB 6.0と同じようにインスタンス化せずにフォームにアクセスできるようになったのだ。しかし,このような仕様変更は,すでに.NETに移行した人から見るとおかしなものに映るだろう。オブジェクト指向の考え方からすると,インスタンス化せずにフォームにいきなりアクセスできるということはおかしいからだ。

 また,私はMyクラスにも疑問を感じる。使ってみると確かに便利だが,VBユーザーのためだけにここまでする必要があるのだろうかと思った。.NET Frameworkですでに実現している機能を,他のクラスでまとめ直す必要があるだろうか。こういうことをしていると.NET Framework全体の複雑化につながりはしないかと心配になる。

.NETへの移行をためらうVBユーザー

 マイクロソフトがここまでする理由はただ一つ。とにかくVB 6.0ユーザーを.NET Frameworkに移行させたいと考えているからだろう。マイクロソフトはVB 6.0の後継としてVB .NETを投入したが,VB 6.0のユーザーはオブジェクト指向を本格的に採り入れたVB .NETの言語仕様に戸惑い,なかなか移行しようとしなかった。また,プログラム部品の基盤が.NET Frameworkに変わったことも,VB 6.0ユーザーを困らせた。基盤が全く変わって,必要な機能がどこにあるのかが分からなくなってしまったのだ。

 厳しい方なら「勉強して新しい環境に適応すべきだ」とおっしゃると思う。しかし,当面の仕事を片づけることが最優先になってしまうとなかなかそうも言えなくなる。このような事情から,VB 6.0を使い続けるユーザーも多い。しかし,いつまでもVB 6.0を使い続けるわけにはいかない。マイクロソフトは2005年3月31日にVB 6.0のメインストリーム・サポートを打ち切っている。ここから先は延長サポート期間となり,修正プログラムも有料になる。

 このようなマイクロソフトの方針に反発して,サポート延長,あるいはVB 6.0に近い形の新しいVBを求めるユーザーもいるが,そんなことが現実になるとは思わない方がよい。もはや後戻りはできないのだ。VS .NETが登場してから3年が経ち,.NET Framework上でアプリケーション開発をする人も増えてきた。いよいよ.NET Frameworkの本格的な普及が始まったのだ。

VB 2005は.NETに移行する最大のチャンス

 そこで登場するVB 2005は,VB 6.0ユーザーに配慮した新機能を搭載している。.NET Frameworkにすでに移行した人から見ると奇異に映る機能を思い切って搭載してきたのは,VB 6.0ユーザーへの最大の配慮と言っていいだろう。世間では.NET Frameworkが着実に普及している。VB 6.0ユーザーが.NET Frameworkに移行するならVB 2005が最大のチャンスとなるはずだ。

 それでもオブジェクト指向に拒否反応を示して移行をためらう人もいるかもしれない。しかし,よく考えてみてほしい。現在広く普及しているプログラミング言語で,オブジェクト指向を採り入れていない言語がどれだけあるだろうか。つまり,今やプログラマにとってオブジェクト指向は必修科目なのだ。

 それでもあなたはVB 6.0を使い続けますか。

(笹田 仁=日経ソフトウエア