「Visual Basicの役割はそろそろ終わりなのではないか」---米Microsoftの次期開発ツール・スイートVisual Studio .NETの内容やベータ版を見て,そう感じた開発者は少なくないだろう。少なくとも私は,Visual Basic .NETの仕様と新しく加わったC#を見て,そう感じた一人である。
日経ソフトウエア最新号(2001年9月号)の「Visual Basic10年目の転機」で,Visual Basicが1991年の誕生以来,最大の転換点を迎えているという特集記事を書いた。内容的には,Visual Basic.NETの変更点や移行に際しての注意点などが中心である。これからもVisual Basicを使い続けるだろうという読者が主な対象となる。
そこできちんと触れられなかったのが「プログラミング入門者用の言語/ツールとしてのVisual Basic」という役割である。これについては,このコラムで何度か話題になったように,「Visual Basicが本当に入門者に適切か」という疑問がある。しかし,Visual Basicがこの10年,Windowsアプリケーション開発の最初の一歩の役割を果たしてきたことは間違いない。冒頭の疑問は,こうした役割が終わりつつあるのでは,ということだ。
すでにあちこちで報じられているように,Visual Basic .NETは,現行のVisual Basic 6.0と比べて大きく仕様が変わり,既存プログラムのほとんどは手直しなしでは動作しない。しかし,互換性がなくなるからという理由で,Visual Basicの価値が下がると言いたいわけではない。
これまでも,Visual Basicはバージョンが上がるたびにいろいろと互換性を損なう部分があった。例えば,VBXからOCXに代わり,データベース接続機能がDAO/RDO/ADOと変化し,文字コードがUnicodeに変更される,などなどだ。そのたびに,開発者は大変な思いをしてきたが,それでもVisual Basicのユーザーは減ることなく,一貫して増え続けてきた。世界中で数百万と言われるユーザーの影響力は大きく,彼らの反対意見によって,Microsoft社はVisual Studio .NETのベータ2でVisual Basic .NETの一部(配列の要素数や論理値Trueの値など)を元の仕様に戻したほどだ。
Visual Basic .NETは既存のプログラムと互換性がない,と分かっていても彼らの多くはVisual Basicを使い続ける(または使わざるを得ない)のだろう。そうでなければ,細かい仕様の変更に文句を言ったりはしない。したがってVisual Basic .NETが相変わらず多数のユーザーによって使われるのは間違いない。しかし,.NETでWindowsアプリケーションを初めて開発するという初心者にとっては,Visual Basicはこれまでのように大きな存在ではなくなる。
Visual Basicの魅力は,動くプログラムをすぐに作れることだ。言語仕様を厳密に意識せずにコードを書いても,プログラマが思った通りに動作するようになっている。例えば,変数を宣言せずに使う,プロパティを省略する,整数型の変数に文字列を代入する,といったほかの言語ではコンパイルすらできないようなコードでもとりあえず動いてしまう。とっつきやすく,動くプログラムを作る喜びをすぐに味わえるという点で,初心者向けと言われる。
しかし,Visual Basic .NETではこうした言語仕様の“甘さ”が排除されている上に,クラスの継承などオブジェクト指向の知識も必要になる。つまり,初心者にとってはほかの言語と同列に見え,Visual Basicを積極的に選択する理由がない。ましてや,Visual Studio.NETにはC#がある。C#は,Turbo PascalやDelphiのデザイナであるAnders Hejlsberg氏が中心となって設計/開発した言語であり,Visual Basicよりはるかに洗練された言語になっている。実際Microsoftも,Visual BasicユーザーはVisual Basic .NETを選択するのが一番だが,これからプログラミングを学ぼうという人にはC#を薦める,と言っている。
これを素直に実行すると,Visual Basicユーザーは徐々に先細りすることになる。何年先になるかわからないが,将来「入門者に最もふさわしい言語は?」という質問をしたとしよう。その時,Visual Basicは選択肢から消えているかもしれない。
Visual Basicに関心のない人にとっては「それがどうした?」というだけのことだ。しかし,Microsoft社のプログラミング言語のフラグシップが,Visual BasicからC#に変わろうとしていることは,非常に興味深いことである。.NETフレームワークの普及は,Microsoftが思い描いているほど簡単には進まないだろう。その過渡期に何かが起こる可能性がある。
Visual Basicに代わって,次の10年の主流になるのは,C#なのかJavaなのか。あるいは,まったく新しい言語や技術なのか。これから数年の動向にワクワクする思いを感じている。
(道本 健二=日経ソフトウエア副編集長)
◎関連記事
■マイクロソフト,Visual Studio .NETベータ2日本語版を7月27日から配布,VB .NETの仕様がVB 6.0寄りに戻る
■米MS,研究機関版「Visual Studio .NET」を用意,Windows CE 3.0のソースも提供
■米マイクロソフト,カナダCorelに「C#」と「CLI」のソースコード提供
■Visual Basicユーザーの誘致に本腰,ボーランドがDelphi新版投入
■【記者の眼】どのプログラミング言語を学べばよいのか
■【記者の眼】初めて学ぶプログラミング言語は何がいい?