2005年11月17日に東京都内で開催されたマイクロソフトのイベント「the Microsoft Conference 2005」に合わせて,米MicrosoftのTechnical Leadで,Visual Basic(VB)の設計を手がけるPaul Vick氏(写真)が来日,記者との会見に応じた。会見の要旨は以下の通り。

——新しいVB 2005の特徴は何か?
 我々が最も注力した点が三つある。一つは開発者のプロダクティビティ(生産性)を向上すること。共通のシナリオで比較した場合,開発者が書かねばならないコードを50%削減した。これにより,一般的なケースでは生産性は2倍になる。二つ目は,Microsoftが提唱するスマート・クライアント・アプリケーションを開発することで,Webベースのアプリケーションが持つメリット(容易な配布など)をWindowsアプリケーションにもたらすことだ。三つ目は,これまでのバージョンと同様に,.NET Frameworkのフルパワーを開発者にもたらすことだ。例えば,.NET Frameworkの基本クラスライブラリに,新たにジェネリクスを追加した。
(本誌注:ジェネリクスは型をパラメータ化できる機能。コレクション・オブジェクトなどを利用する際に便利)

──その中で,VBを設計する際に最も優先的に心がけていることは何か?
 開発者の生産性だ。VBの開発者にとって大切なのは,自分たちがやりたいことを容易に実現できることだと思う。そのため,VBの設計/開発では一貫して,使い勝手を良くし,生産性を向上することにフォーカスしてきた。
 MicrosoftのWebサイトで無償ダウンロードが始まったExpress Editionに触れてもらえば,VBは今でも初心者が入りやすいツールであることがわかるだろう。例えば,Windowsフォーム・デザイナにはスナップラインと呼ぶ機能が追加されている。これは,フォームにコントロールを貼り付ける際に,ほかのコントロールとの位置合わせを容易にできるというものだ。グラフィックスのライブラリも強化しており,WindowsスタイルまたはOfficeスタイルのコントロールを使ったWindowsアプリケーションを容易に作ることができる。ジェネリクス,オペレータ,オーバーロードといった言語仕様の拡張機能は,上級ユーザーにも喜ばれるだろう。
 Windowsがどんどん複雑さを増していく中で,使い勝手の良さとシンプル性というVBの魅力をどう継続して提供していくかが,我々の永遠の課題である。

──VBのコードは冗長だと批判する人もいるようだが?
 コードを自分の思ったスタイルで書けないという批判は妥当なものだ。Cライクな中カッコが好きな人には,VBのコードは長ったらしく感じるかもしれない。しかし,VBのコードがWordy(言葉が多い)であることは,理解しやすく読みやすいという利点でもあるのだ。実際コードを書く際には,インテリセンスがコーディングを支援してくれるので,冗長性は気にならないという人も多い。
 我々は,なるべくユーザーが使いたいスタイルで書けるように模索している。だからといって,VBに中カッコを採用するということはない。それは言語の中核を成す部分だから。

──今後VBにどんな改善が必要だと思うか?
 今回のキーノート・スピーチで行うデモンストレーションのプログラムを自分で作ったところ,思った以上に手早く作れてしまったことにあらためて驚いた。人それぞれにVBに感じる魅力は異なるだろうが,やりたいことが素早くできる言語という点は同じだと思う。
 そうして魅力を感じると同時に,今後は“こんな機能も欲しいな”ということも思いつく。その一つに,LINQ(Language Integrated Query)がある。LINQは,クエリ(データソースに対する問い合わせ)を言語の中に統合するという非常にラディカルな試みだ。これはデータベースを利用することが多いVBの開発者にとってはとてもエキサイティングな機能になるだろう。私はVBの前にMicrosoft Accessの開発に携わっていたので,私自身にとってもエキサイティングなことだ。

──LINQが実現すると,SQLは不要になるということか?
 LINQは,SQLに取って代わるというものではない。ただ,VBだけでデータベース・アクセスをしたいという声は多い。今回発表されたSQL Server 2005では,VBやC#で作ったプログラムをSQL Serverのプロシジャとして実行する機能が追加されている。我々は,SQL Serverのチームとして密接に連携しながら,LINQの具体的な実装について考えていきたい。

──ところで,あいかわらず旧VBからVB .NETへの移行に苦労しているユーザーは多いようだ。旧VBユーザーはVB .NETを選択すべきだと思うか?
 我々が実際に旧VBから .NETに移行したユーザーにヒアリングしたところ,言語仕様の変化よりも,.NET Frameworkのサイズ(クラス数)や階層に当惑したという答えが多かった。やりたいことを実現する方法がわからず,途中で立ち往生してしまうという。そのためにVB 2005では,.NET Frameworkの道案内となるMyクラスを搭載し,旧VBからの移行を容易にしている。もう一つ,プログラムを移行する際には部分部分を段階的に行うように勧めている。例えば,最初にユーザー・インタフェースだけを移行して,その後ロジック部分を徐々に移行するといった具合に行うと,その過程で少しずつ.NETについて学ぶことができる。
 言語は一つを学ぶのでも少なからず苦労するので,同時に二つ以上学ぼうとするのは意味がない。VB .NETに移行するぐらいならほかの言語に移った方がいいと考える人もいるが,現実には彼らは困難に直面しているようだ。やはりVBのユーザーは,より共通点の多いVB .NETに移行する方が簡単だ。また,ほかの言語は,VBのように必ずしも使いやすくてシンプルであることを目指しているとは限らない。
 VBは,Ease of useを常に考慮して作られた言語であり,それは .NETになっても変わらない。そしてVBが無くなることはない。私がMicrosoftから給料をもらっている限り,VBは無くならないと断言できる(笑)。

──あなた自身は,個人的にVBを使っているか?
 もちろん。サイドジョブとしていくつかのプログラムをVBで作っている。ただ,仕事ではC++でコンパイラを開発しているので,C++とVBを行ったり来たりするのが少し大変なときもある。これまでVBのコンパイラはC++で作ってきたが,.NETになってからはVB自身でコンパイラを作ろうかと考えている。とはいえ,これは我々の目標というか夢であり,いつ実現するとは言えない。

──ソフトウエア技術者として成功するにはどんな努力をすべきだと思うか?
 私の場合,プログラミング言語は,話す言語を学ぶときと同じように,使えば使うほどうまくなり,そして難しいことにチャレンジすればするほどより多くのことが達成できるようになった。大学のときに,コンパイラ開発について学んだ経験も非常に役に立ったと思う。またほかの分野でも同じだが,自分のやりたいこと,作りたいものを見つけ,それに集中することが大事だろう。だから私は,作りたいものがすぐに作れるVBが好きなのだ。

──仕事以外では,どんなことに興味を持っているか?
 最近は,スペイン語を勉強している。妻の母親がパナマ出身なので,そちらの家族とネイティブな言語で話したいと思っているからだ。仕事で開発言語の設計を考えているせいか,スペイン語の構造や文法を理解するのは比較的容易だが,実際に話すとなると,開発言語のようにオンデマンドで言葉が出てくるレベルまでにはいってない(笑)。また,走ることも好きで,つい最近ハーフ・マラソンの大会にも参加した。