Visual Basicの終焉の始まりか?マイクロソフトは「コアシナリオ」に注力

Table of Contents

Visual Basicの終焉の始まりか?マイクロソフトは「コアシナリオ」に注力

Microsoft プログラム マネージャーの Mads Torgersen 氏は、同社のプログラミング言語戦略について投稿し、Visual Basic の計画が C# との共進化から「コア シナリオ」に重点を置くものへと移行したと述べています。

トルガーセン氏は、3つの純粋な.NET言語、C#、VB、F#の戦略を概説しました。トルガーセン氏によると、C#は数百万人に利用されており、「最先端のプログラミング言語」として進化を続けていくとのことです。F#は「数万人」に利用されており、「市場で最も優れたツールを備えた関数型言語」となるでしょう。一方、VBは主にWindowsフォームアプリケーション(および一部のASP.NET Webフォーム)や新規開発者に利用されており、その多くはより豊富なエコシステムを発見してC#へと移行しています。

そのため、MicrosoftはC#とVBをほぼ同等のものとして維持することはなくなりました。「VB 15にはC# 7.0の機能のサブセットが含まれています」とTorgersen氏は述べています。タプルはサポートされていますが、is-式、out-変数、ローカル関数などの他の機能はサポートされていません。

Microsoft の VB チームによる別の投稿では、次のように確認されています。「クラウドとモバイル、Windows 上の Visual Studio を超えた開発、および Windows 以外のプラットフォーム、そして最先端技術に関しては、C# がリードしています。」

重要な要素の 1 つは、Microsoft の iOS および Android 用コンパイラである Xamarin が C# をサポートしているものの、VB はサポートしていないことです。

トルガーセン氏は、自身のチームが「VBを.NETエコシステムの第一級メンバーとして維持するために必要なことは何でもする」と主張しているものの、この言語の将来性は明るいとは言えない。マイクロソフトが計画を明確にした今、VBに移行する開発者は増えるだろう。

BASIC言語がなければ、マイクロソフトは存在しなかったかもしれません。マイクロソフトの共同創業者であるビル・ゲイツとポール・アレンは、1974年にMITS AltairにBASICを実装し、Microsoft Basicが同社の最初の製品となりました。Windows以前のマイクロソフトのオペレーティングシステムであるMS-DOSには、BASICインタープリターが組み込まれていました。

マイクロソフトは1991年にVisual Basic 1.0をリリースしました。当時、Windows用のドラッグ&ドロッププログラミング環境として画期的なものでした。VBの存在はWindows自体の成功にも貢献しました。専門家だけでなく、経験豊富なユーザーもシンプルなビジネスアプリケーションを迅速に構築できるようになったからです。

VB の成功は、1993 年に Jet データベース エンジン (Microsoft Access でも使用) を含むバージョン 3.0 が登場したことでさらに強化され、デスクトップ データベース管理がパッケージの一部として提供されるようになりました。

Visual BasicはWindowsとともに進化し、32ビットコンパイラとネイティブ実行ファイルのコンパイルオプションを獲得し、1998年にVisual Basic 6.0がリリースされるまで進化を続けました。VBは依然として高い人気を誇っていましたが、その頃には輝きを失っていました。オブジェクト指向の愛好家たちは、VBがインターフェイス実装のみでクラス継承を完全にサポートしていないことを嫌っていました。さらに深刻なことに、開発環境がGUI設計とビジネスロジックの混在をプログラマに推奨していたことが、多くのアプリケーションの保守を困難にする要因となっていました。VBには多くの特異性もありました。興味のある読者は、Bruce McKinneyの著書『Hardcore Visual Basic』、特に最終章「Bring Your Hatchet」をお読みください。

2001年、マイクロソフトは.NET Framework開発プラットフォームをリリースしました。これには、C#という新言語と、VBのアップデート版であるVisual Basic .NETが含まれていました。「Visual Basicとは若干異なるものの、製品に搭載されている重要な進歩をお客様にお届けするためには、そうする必要がありました」と、当時のCEOであるスティーブ・バルマー氏は述べています。一言で言えば、マイクロソフトは言語を修正すると同時に、言語を破壊しました。修正されたのは、クラス継承をサポートし、ASP.NET Webフレームワークを含むFrameworkライブラリを通じて多くの新機能を獲得した点です。破壊されたのは、VB 6.0と互換性がなく、ランタイムが大きく低速だった点です。既存のアプリケーションの移植は困難でした。

C#が.NET Frameworkの主要言語であるという認識もありました。ほとんどのライブラリはC#で書かれていましたが、VBでも問題なく動作し、C#コードの方がドキュメントやサンプルも充実していました。VB開発者の中には、.NETプラットフォームに移行するなら言語も切り替えた方が良いと考える人もいました。一方で、.NETと互換性がないならVB 6.0を使い続けるのも悪くないと考える人もいました。VB言語の衰退の芽はここから始まったのです。

VBはそんなに悪い言語なのでしょうか?歴史的に見て、Visual Studioでのバックグラウンドコンパイル、動的言語のサポート、COM相互運用性の容易さなど、VBは特定の分野でC#を上回っていましたが、C#も時代遅れになって追いつきました。また、コードに中括弧を散りばめたくない開発者もいます。

しかし、C、C++、Java、JavaScriptといった言語群を考えると、実際には中括弧言語が勝利を収めていると言えるでしょう。これらの言語はすべて(VBとは異なり)、大文字と小文字を区別します。

C#は現在、VBよりもはるかに広く使用されています。例えば、RedMonkのプログラミング言語ランキングでは、C#は5位、VBは19位で、R、Perl、Scala、Haskellに次いでいます。

上記にもかかわらず、VBはしばらくの間は存続するでしょう。VBは依然としてMicrosoft Officeのマクロ言語であり、これは本質的にはVB 6.0の派生であり、Office 2016にも含まれていますが、Visual Basic for Applicationsという名称になっています。

Visual Basicは今でもMicrosoft Officeのマクロ言語である

Visual Basicは今でもMicrosoft Officeのマクロ言語である

プロの開発者は、.NET Framework を使用するとプロジェクト内で VB と C# のコードを簡単に混在させることができること、また、両者間の移行はおそらく VB 6.0 (または VBA) と VB.NET 間の移行よりも簡単であることにも留意する必要があります。®

Discover More