設計者が語るVisual Basicの来た道、進む道

米Microsoft
Technical Lead
Visual Basic .NET
ポール・ビック(Paul Vick)

聞き手、文責:デジタルアドバンテージ
2005/12/07
Page1 Page2 Page3

 長いベータ期間を終えて、ついにVisual Studio 2005がリリースされた。これに伴い、.NETの主要開発言語の1つであるVisual Basic .NETは、「Visual Basic 2005」としてメジャー・バージョンアップする。さらなる進化を遂げたVisual Basicとはいかなるものなのか。Visual Basicユーザーの現状、Visual Basic 2005の新機能、そしてVisual Basicの将来について、Visual Basic 2005の設計者の1人として、日本における製品発表会でのキーノート・スピーチのために来日したPaul Vick氏にお話を伺った。

―― あなたの現在の立場や仕事についてお聞かせください。

 

 Visual Basic(以下、VB)チームのテクニカル・リードという立場で、言語の設計とVBのコンパイラの設計を担当しています。

―― VBの開発については、いつごろからかかわっているのでしょうか?

 

 Visual Basic 6.0(以下、VB6)のころからチームに参加し、それ以降のバージョンにはすべてかかわっています。VB6のころは、OLE(Object Linking and Embedding)オートメーションの部分を主に担当していました。そしてその後、言語設計の部門へ移りました。

VB6からの移行は進んでいるか?

―― ではまず、VB6に関してお聞かせください。日本ではまだまだVB6のユーザーが多いようなのですが、米国での状況はどうなのでしょうか?

 

 米国でもまだVB6ユーザーはたくさんいるとは思いますが、VB6からVisual Basic .NET(以下、VB.NET)への移行もかなり進んでいます。そして今回発表したVisual Basic 2005(以下、VB2005)では、さらに移行が進むと考えています。

―― 現在まだ多くのVB6ユーザーが残っている原因は何でしょうか? 移行に際してハードルとなるようなものが存在するのでしょうか? また、移行のメリットは何でしょうか?

 

 VB6からVB.NETへの変化は大きかったので、移行の準備に時間がかかっているというのが主な原因だと思います。

 私たちがVB6からVB.NETへの移行をVB6ユーザーに勧める際、「数ある.NET言語の中で、なぜVBを選ぶべきなのか?」という質問をよく受けます。これには、「VB6とVB.NETではほとんどの言語仕様が変化していないからだ」と答えています。

 実際に両者の言語仕様には大差がないため、VB.NETへの移行はそれほど難しくないと考えています。確かに新しい機能もいくつか追加されていますが、たいていの場合、移行のために新しいことを1から勉強しなくてはならないようなことはありません。つまり、すでに皆さんが持っている、VBのプログラムがどのように動作するかという知識は新しいVBでも使えるというわけです。

 VB6から移行する理由はたくさんあります。何といっても.NET Frameworkは、従来のVBランタイムと比べて、開発者に偉大なパワーを与えてくれます。そして将来のことを考えた場合、今後Windowsに追加される多くの機能やWindows APIは基本的に.NETベースになるからです。

 例えば、Windows Vistaと同時期に提供されると思われるWindows Presentation Framework(以下WPF。コード名“Avalon”)やWindows Communication Framework(以下WCF。コード名“Indigo”)は、最初から.NETベースのAPIとして構築されます。もちろんWPFなどは、従来のWin32プログラムから(COM経由で)の利用も互換性のためサポートされる予定ですが、こういった新しいWindowsの機能を十二分に活用するためには、やはり.NETを利用するのが最適です。

 VB6のコードを読める人であればVB.NETのコードを読むのはそれほど難しくはありません。ただ、移行の際に問題があるとすれば、.NET Frameworkというのは非常に巨大で強力であるため、どこから始めたらよいのか分からないということがあるかもしれません。

 VB2005の新しい機能である“My”機能は、まさにその問題を解決しようとするものです。これにより.NETプログラミングはより迅速かつ、より簡単になります。

―― しかし、少なくともオブジェクト指向については、それなりに学ばねばならないと思うのですが。

 

 .NETでのプログラミングでは、オブジェクト指向を学ばなくとも、ある程度の構造まで経験でき、ある程度まで到達できることがよいところです。VB6ユーザーでVB.NET開発の初心者の人の多くは、オブジェクトを作成する部分はVB6と非常に似ていると感じるでしょう。つまり、VB.NETプログラミングを始めるに当たっては、取りあえず現在持っているVB6の知識だけでよいわけです。

 ですので、ほとんどの方にとってオブジェクト指向はハードルにならないと思います。

―― しかし、私たちがアンケートを採ってみると、オブジェクト指向がハードルになるという声は多いのですが。

 

 不幸にも、これは過去に多くの人々が(そしてマイクロソフトさえも)「VB.NET習得のためにはオブジェクト指向を学ばなければならない」といっていたためです。そして多くのVB6ユーザーがそのように思ってしまっています。しかし実際には先ほども述べたように、.NETプログラミングを始めるに当たってそのような知識は必要ありません。

 オブジェクト指向を学ばなくともVBで.NETプログラミングをスタートできると私は思います。とにかく勇気を持ってVB.NETやVB2005のプログラミングにチャレンジしてみることです。そうすればVB.NETプログラミングは恐れるほどでもないことが分かってくるでしょう。

―― 例えばVB2005では、フォームを明示的にインスタンス化しなくても使えるようになりますが(=デフォルト・インスタンス)、これはVB6の仕様に似せるためにそうしているのでしょうか?

 

 VB6ユーザーになじみ深いものにするというのも理由の1つです。加えて、フォームを扱う多くのケースでは、インスタンスを自分で作ってどこかに格納し保存するよりも、デフォルト・インスタンスを使った方が便利だと考えたからです。

 以前、1週間という期間を取って、実際に移行作業をされているお客さまのもとで共同で作業を行い、アプリケーション移行の大変さを体験したことがあるのですが、デフォルト・インスタンスというのは、この経験に基づいて作られた機能です。

 移行に関しては、多くのガイダンスや移行のためのベスト・シナリオを記した多くのドキュメントを作成して公開しています。また、MSDNにはVB6からの移行ユーザーのためのWebサイト(VBマイグレーション センター)も用意しています。

―― では、近い将来VB6からVB2005への移行がうまくいくと確信していらっしゃいますか?

 

 そうですね。VB2005は使い勝手が大幅に向上されているということに加え、これまでマイクロソフトとしてもいろいろなコミュニティで移行の支援をさせていただいた経験から、VB6からVB2005への移行は大きく進むと思います。

 
 

 INDEX
  [Trend Interview] 設計者が語るVisual Basicの来た道、進む道
  1.VB6からの移行は進んでいるか?
    2.VB2005の新機能、C#との関係
    3.今後のVBについて
 
インデックス・ページヘ  「Trend Interview」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間