Skip to main content
評価してください: 

ポール ビックポール ビック

マイクロソフト コーポレーション
Visual Basic 開発
テクニカル リード

 

 

×

辻郷 隆史辻郷 隆史

マイクロソフト株式会社
デベロッパー&プラットフォーム統括本部
ブロードエバンジェリズム部
エバンジェリスト

 

→Visual Basic 以前の Basic
→ビジュアル開発の登場
→オブジェクト指向、コンポーネント指向開発
→サービス指向へ
→次期バージョンについて

Visual Basic 以前の Basic

辻郷 今日は、Visual Basic と開発者をテーマに取り上げます。
Paul すばらしいですね、喜んで。
辻郷 まず、Visual Basic の話に入る前に、それ以前の Basic 言語について話したいと思います。
Paul そうですね。実際、 とても興味深いのは、マイクロソフトが作った最初の製品が、Basic インタプリタだったことです。実は、その製品の最初の開発者が、ビル ゲイツとポール アレンの 2 人でした。そして Basic は、マイクロソフトの歴史を通してずっと、マイクロソフトが世に送り出し続けている製品です。

Basic は、長い間、マイクロソフトのソフトウェアをプログラミングし、そしてマイクロソフト製品を扱う場合に使われてきた言語なのです。

その主な理由は、Basic がマシン語やアセンブリ言語よりも高いレベルの高級言語としての動作を可能にする点にあります。
辻郷 実は、私もプログラミングをはじめたのは Basic からです。当時、私はコンピュータに対する技術的な知識はなかったのですが、そういう人でもプログラミングをはじめられるというのが Basic でした。
Paul

実際に、プログラミングを始める人々のほとんど、つまり初めてプログラミングをする人々の大多数は、Basic から始めます。私がプログラミングを始めたのも Basic でした。

“ 私は今でも、20 年前に使っていたのと同じ言語、Basic を使ってプログラミングします。”


私は 10 歳のときにプログラミングを始めましたが、Basic は当時の私にもとても簡単に理解できた言語でした。Basic のすばらしいところは初級者のプログラマから上級者のプログラマまで、本当に幅広い人々に使用されていることです。私は今でも、20 年前に使っていたのと同じ言語、Basic を使ってプログラミングします。

辻郷 なるほど。そういった意味で、Basic は開発者の裾野を広げる役割を果たしていたといえますね。
Paul そうですね。まったくです。

 

ビジュアル開発の登場

辻郷 次に Basic とビジュアル開発についての話に進めたいと思います。世の中に Windows を始め GUI を使える OS が色々出てきました。そして、その上で動作するアプリケーションを開発するために Visual Basic が登場しました。
Paulpaulvickそうです。

実際に、Visual Basic ができる前、1 つの Windows プログラムをプログラミングするためにどれだけのコードを書かなければならなかったかを考えてみてください。とてもすごい分量でした。何百行にもおよぶコードでした。

Visual Basic は実に革新的でした。というのも、Windows アプリケーションをプログラミングするのに大量のコードをプログラミングしなくてもよくなったからです。それにとても簡単に作ることができました。 Windows アプリケーションをプログラミングするために、特別な知識を多く学ばなければならない、ということがなくなりました。

Windows で動作させるプログラムで、プログラミングしなければならないのは、プログラムのロジックを表すコードだけでした。画面上に何かを描くというだけのために、多くの余分なコードをプログラミングする必要はありませんでした。
辻郷 そうですね。Visual Basicによって、より多くの開発者がWindows アプリケーションを作成するチャンスが増えましたね。この意味でも革新的だったと思います。
Paul Visual Basic なしには、Windows はこれほど普及しなかっただろうと本当に思います。
辻郷 まさに Windows の牽引役でしたね。
Paul ええ、そうです。
辻郷 Visual Basic 以前にも、Quick Basic というツールもありましたね。
Paul それも使用したことはありますが、担当ではありませんでした。最初の話に戻りますが、Basic は常にマイクロソフトにとって本当に重要な言語であると言えます。

マイクロソフトにとって Basic 開発ツールは、非常に重要で常に存在していたのです。
辻郷 Quick Basic は GUI が普及する以前にビジュアル開発を実現したようなものですよね。
Paul違 いは、DOS では Visual Basic で描くようにはユーザーインターフェイスを描けなかったということです。それが Visual Basic で取り入れられた、本当に革新的な点でした。Visual Basic でまさに革新的だったのは、フォームを設計したり、画面上でユーザーインターフェイスを作成できたりすること、そして Basic コードを全く使用せずしなくても、実に多彩な方法でプログラミングができることでした。

少し妙かもしれませんが、私たちが取り組む最終的なゴールは、ある意味ではユーザーがほとんど Basic を必要としないで済むようにすることです。プログラミングがとても簡単に、思い通りにできれば、Basic コードをほとんど使わずにプログラミングできるでしょう。ある意味、自らビジネスを失おうとしているようにみえるかもしれません。

 

オブジェクト指向、コンポーネント指向開発

辻郷 その後、オブジェクト指向やコンポーネント指向といった考え方がプログラミングの世界に導入されてきました。
Paul

Visual Basic 4.0 と COM (Component Object Model) の導入により、Visual Basic ではコンポーネントのプログラミングがとても簡単にできるようになりました。

“ まさに、数百行のコードが必要だったものが、Visual Basic ではほんの数行でした。”


Windows プログラミングでは、Visual Basic でコンポーネントをプログラミングするほうが、C++ など他のどんな言語でプログラミングするよりも、ずっと簡単でした。まさに、数百行のコードが必要だったものが、Visual Basic ではほんの数行でした。

辻郷 新しいテクノロジが出てきても、Visual Basic は進化して、使いやすさを保ったまま、そうしたテクノロジを取り入れるということをしてきたわけですね。
Paul その通りです。Visual Basic、実際には Basic 全般に対して、常に変更が加えられており、プログラミングに関する最新の流れを作り出してきました。プログラマにはとても簡単でわかりやすいのです。
辻郷VBX や ActiveX コントロールについてですが、これらもコンポーネント指向を進めるテクノロジでしたよね。
Paul前 にお話ししたことに戻ると、最初に Visual Basic が出たときは、Visual Basic 環境を拡張するために、とても簡単な手段を加えました。それが VBX コントロールでした。しかし、単に後から加えられた部分的変更とも言えます。本格的なオブジェクト指向またはコンポーネントベースの開発用にきちんと設計 されたわけではなく、ただ新しいコントロールをいくつか追加するためだけの手段でした。

そうは言っても、コンポーネントを作るのに必要でしたので、人々に使われ始めました。実際、ActiveX の開発は、より強力な VBX コントロールを作ってほしいという要望から始まりました。Visual Basic 開発者コミュニティが実際にどう Visual Basic を方向づけていったか、というとてもよい例でもあります。

お話ししていることに正確に関連しているか分かりませんが、VB の特徴の 1 つが、開発者の要望に敏感に対応していることだと思います。開発者に目を向け、開発者の要望を理解し、我々がこうあるべきと考える方向に進むのではなく、要望に応えようとしているのです。
辻郷 その考えは、ずっと引き継がれているようですね。
Paul

もちろんですとも。

“ Visual Basic は、それを扱う開発者の目線に立って作られています。”


プログラミング言語について考えてみてください。中には人々がどのように作業するべきかという理論に基づいて設計されているものもあります。Visual Basic は人々がどのように作業したいのか、または人々が実際にどのように作業するのかに重点を置いています。Visual Basic は、それを扱う開発者の目線に立って作られています。

たとえば、C++ や C スタイルの言語について考えてみてください。それらは、開発者が行う必要があるものに近づこうというよりも、むしろオブジェクト指向方法論といったような特定の方法論に焦点が当てられていると思います。

私たちは、常に開発の最新動向を追っているわけではありません。そうした最新の動向が重要な場合もあれば、そうでないこともあるからです。Visual Basic 開発者にとって最も重要なことは、仕事をやり遂げることなのです。サポートをする限り、開発者の目的達成こそが我々には最も重要なのです。

 

サービス指向へ

辻郷 そして、.NET Framework が登場します。サービス指向やオブジェクト指向の進化に対応するために登場した訳なんですが、ここで Visual Basic にも新たな変化がもたらされることになりましたね。
Paul

pic_talkそう、その通りです。確かに。これは Visual Basic にとって、非常に大きな変化でした。.NET Framework への移行は、Visual Basic 製品でこれまで行われてきた中でも、おそらく最大の取り組みでしょう。

実際、とても難しいことでしたが、とても必要とされていたのです。というのも、Visual Basic はもともと Windows アプリケーションや Windows コンポーネントをプログラミングするために開発され、Web サービスや Web サイトのように、より接続性の高いシナリオで機能するのに十分な設計ではなかったからです。

解決しなければならない問題は多々ありましたが、.NET Framework によって解決されました。この変化も、実際のコミュニティによって推進されたものでした。Visual Basic 6.0 は Web コンポーネントや Web サイトを作るために使われていましたが、スケーリングと堅牢性に問題があり、対処する必要があったのです。この移行は容易ではありませんでしたが、エキサ イティングでもありました。というのも、.NET Framework は、実行し慣れた Runtime とは大きく異なっているからです。

“ 人々は移行することにとても不安を感じるのが普通ですが、いったん移行したら、「もう昔へは戻りたくない」と言うのです。”

言語や Visual Basic の使用法に、たくさんの変化を生み出しました。開発者の中には移行に苦労した人もいましたが、実際に多くのメリットも見てきました。開発者が扱えるように なった機能や、従来の Windows アプリケーションをはじめ、コンポーネントベースアプリケーションやサービス指向アプリケーションのプログラミングの面で、多くの利点をもたらしていま す。

人々は移行することにとても不安を感じるのが普通ですが、いったん移行したら、「もう昔へは戻りたくない」と言うのです。これは実にすばらしいことです。

Visual Basic 2005 は、こうしたエキサイティングな移行のほんの一部でしかありません。今回、私たちは、人々がどのように .NET Framework を使うのかをじっくり調べ、My クラスのような機能を多く提供しています。My クラスを使うと、.NET Framework をとても簡単に扱えるようになります。

辻郷 Visual Basic が .NET になったことで、それを受け入れた開発者と受け入れられなかった開発者がいます。いまでも、Visual Basic 6.0 をお使いの開発者に対して、Visual Basic 2005 のお薦めポイントはありますか。
Paul実 際、Visual Basic 6 の開発者にとっては多くの改良点があります。前にお話ししましたように、どんな種類の Web 開発を行っていても、Visual Basic 2005 は間違いなく優れた環境だと言えます。それは、Visual Basic 2005 は VB6 よりも多くの機能を備え、VB6 環境よりもかなり堅牢で拡張性があるからです。そして、Windows アプリケーションやコンポーネントをプログラミングしている人々にも、多くのメリットがあります。

まず、.NET Framework 自体が、VB6 にはない機能をかなり多く備えています。たとえば、正規表現の評価など、VB6 ではできなかった重要な機能がいくつもあるのです。

環境もかなり強化されています。デバッグ機能がさらに優れたものとなり、データバインディングに関する機能も VB6 よりかなり高性能になっています。

そして VB2005 には、実に素晴らしい機能を多く追加しています。コードをプログラミングしなくても、ドラッグアンドドロップでデータバインディングを行うことが可能で す。そして最後に、言語の観点から言うと、Visual Basic .NET は VB6 よりもかなり強化されています。

本格的なオブジェクト指向の機能があり、Visual Basic 2005 では、ジェネリクスのような、より高度な言語の機能を追加しています。これによって、とても強力にコードをプログラミングでき、多くの異なるタイプを扱うことができます。
辻郷 なるほど。 Visual Basic 2005 は Visual Basic .NET 開発者にとっても、 VB6 開発者にとっても、より多くのメリットがある言語へと進化した訳ですね。
Paul そうです。
辻郷新 しく開発を行う場合においてはメリットがあるということは、多くの開発者の方が理解しているかと思いますが、実は、多くの開発者が苦労しているのは、既に VB6 などで開発した資産をどのようにして新しい Visual Basic 2005 などへ移行するかということです。
Paul移 行に関して、Visual Basic 2005 では、まず、VB6 から VB 2005 へアプリケーションを移行する際に使う移行ウィザードが大幅に改良されました。さらに、Visual Basic 2005 は、Registration-Free COM というものもサポートし、VB6 コンポーネントをとても簡単に扱えるようにしました。これらを使用して、VB6 アプリケーションを分割して VB 2005 に移行することを推奨しています。

一般的には、まずユーザーインターフェイスを移植し、ユーザーインターフェイスが完全に移行されるまで、Visual Basic 6 にビジネスロジックを残しておきます。これが VB 2005 では、本当に簡単に行えるようになっているはずです。それから、移行しながら徐々にビジネスロジックを移していきます。一度にアプリケーション全体を移行 しなければならないというわけではなく、むしろ必要に応じて行うことができます。

 

次期バージョンについて

辻郷9 月に催された PDC (Professional Developer Conference) 2005 で、Visual Basic 9 が公開されました。今後、Visual Basic が進む方向性についてお話いただけますか。
Paul

はい、それについてぜひお話しさせてください。我々が現在、取り組んでいることに関連していますから。

現在、私たちが主に取り組んでいるのは、データに対してより簡単にプログラミングを行える方法を探ることです。アプリケーションにおけるデータの現在の使われ方について考えてみてください。

pic_talk一 般的に、アプリケーションで使われるデータには 3 タイプあります。1 番目のタイプはオブジェクト内に保存されます。2 番目のタイプは SQL Server のようなデータベース内に保存されます。そして 3 番目のタイプが XML で、 Web サービスや Web 開発で使われます。

これらの異なる 3 タイプのデータの扱い方は、どれも非常に異なります。オブジェクトについては Visual Basic をプログラミングし、データベースについては SQL をプログラミングし、そして XML については、XQuery のようなものを使うでしょう。

現在、Visual Basic 開発者は、一般的に 3 つの異なる言語を扱う必要があります。ですから私たちは今、Visual Basic で、3 タイプのデータすべてに通じるプログラミングを可能にしようとしています。そうすると、1 つの言語を習得すれば、アプリケーションで扱うどのタイプのデータも扱えるという訳です。

さらによいことに、この言語は、ほとんどの Visual Basic ユーザーにすでに馴染みの言語である SQL を基礎にしています。これは文字で見ると、必ずしも大層なことではないように思えるかもしれませんが、実際にはとても革新的なことです。シンプルかつ統合 されることにより、どのタイプのデータも照会できるので、これはプログラムを作成する上で大きなベネフィットとなります。

私たちはまた、データに関する別の重大事項にも取り組んでいます。それは、XML をより密接に言語に統合できるようにする方法です。なぜなら、XML を照会することが重要なだけでなく、Web アプリケーションが XML を作り出す必要が高まっていて、それをできる限りシンプルに行えるようにする必要があるからです。

“ 私たちの目標は、今まで以上にコミュニティからのフィードバックに対応することです。”


そして我々が取り組んでいるとても興味深いこととして、これの開発に加えて、プレリリース版のリリースがあります。我々が取り組んできたこれらのアイデア を盛り込んだ試作版です。それをダウンロードして、我々が取り組んでいるアイデアを見ていただき、気に入った点や、改良案などをフィードバックしていただ けるようになっています。

また、私たちの目標は、今まで以上にコミュニティからのフィードバックに対応することです。

Visual Basic に関してお話ししてきたデータの改良は、まさにマイクロソフトの全ての言語に及ぶ、より大きな取り組みの 1 つです。この取り組みは LINQ (Language Integrated Query) と呼ばれています。

pic_talkそ れは実際に、我々が .NET Framework チーム、C# チーム、そして C++ チームと取り組んできたことです。データなので、SQL Server チームとも一緒にやっています。とても大きな取り組みで、大変でもありますが会社全体で多くのチームと一緒に仕事ができることはとても楽しいことでもあり ます。

また付け加えておいたほうがよいと思いますが、Visual Basic の今後を考える上で我々が取り組んでいるのは、データだけではありません。データは確かに重要なものの一つではありますが、別の分野にも取り組んでいます。

例えば、現在、多くのコンピュータが、マルチプロセッサまたは複数のコアを備えたプロセッサを搭載するようになっています。ですから私たちは、Visual Basic 開発者がこの優れた処理能力を簡単に利用できるようにする方法を探っています。

そして最後に、ダイナミックデータをより簡単に扱えるようにする方法も研究しています。ダイナミックデータは XML のようなデータですが、きちんと定義された構造ではないかもしれません。スクリプト言語の得意分野です。開発者にとって使いやすくするために、そのような アイデアを応用し提供できないかと考えています。

辻郷 これまで過去から未来に渡り、Visual Basic と開発者についてお聞きしてきました。ここで、あらためて Visual Basic が開発者に何をもたらすものについて、まとめていただけますか。
Paul

Visual Basic の真価は、開発者の生産性をできる限り上げることにあります。つまり、いろいろな意味で、開発者が最小限の努力で最大の成果を上げられるようにすることで す。それは、Windows プログラムのプログラミングの簡易化や、ビジュアル開発、コンポーネントやコントロールのプログラミングの簡易化、サービス指向アプリケーションのプログ ラミングの簡易化といった形で実現されてきました。

“ Visual Basic こそが開発者にとって最高の開発ツールであると確信しています。”


そして今は、データベースアプリケーションのプログラミングを簡易化したいと考えています。私たちは、これまでも、今も、そして今後も、常に Visual Basic の開発者が、注いだ労力に対し最大の価値を生み出せることを目指しています。そして、Visual Basic こそが開発者にとって最高の開発ツールであると確信しています。

辻郷 Visual Basic は開発者にとって、開発生産性を含む更なる価値をもたらし続けるということですね。
本日は、貴重なお話をいただき、ありがとうございました。
Paul こちらこそ、すばらしい機会をいただき、ありがとうございました。

 

ページのトップへページのトップへ