VB.NETに未来はあるのか?
なぜマイクロソフトがVB.NETに対してC#と異なる扱いを与えているのか。なぜVB.NET開発者はC#よりも支払いが少ないのか、そして彼らが将来を案ずるべきなのかどうか、多くの人の疑問であった。.NETマネージド言語グループのPMであるLisa Feigenbaum氏は、podcastでVB.NETには確実に将来があることをVB.NETコミュニティに約束した。
Lisa氏は、なぜVB.NETとC#に違いがあったのか説明した。第一にマイクロソフトの戦略的な決定だ。マイクロソフトは、2つの異なる構文を持つ言語がCLR上で動作するだけではなく、それらが異なる特徴を持つことを望んでいたため、2つの言語は全く異なる経路で.NETの世界にたどり着いた。マイクロソフトが提供するドキュメントの大部分には、C#のサンプルとより少ないVB.NETのサンプルが含まれていたため、みんなVB.NETは、人気がなく、そのうち消滅し、十分にサポートされないと考えた。
Lisa氏によると、はじめにマイクロソフトは、2つの言語に異なる機能を実装することで差別化しようと考えた。しかし、VB.NETの顧客の要求はC#の機能であり、C#の顧客はVB.NETの機能を求める声が多かったため、2つの言語を同期することを決定した。また、VB.NET開発者の数は、C#の開発者よりもわずかに多いため、マイクロソフトがVB.NETを殺すことは彼らの利益にならない。言語をともに発展させるために2つのデザインチームが一緒になった18ヶ月前にこの約束は強化された。
C#のチーフアーキテクトであるAnders Hejlsberg氏は、両方の言語が同時に進行していくのを監督する。彼がC#とVB.NETに実装するべき機能に決定を下した後、それぞれのデザインチームは別々の部屋に分かれて、構文と言語に対する全体的な設計ルールの実装を行う。このプロセスは、2つの結果をもたらした。各言語は、同じ機能セットの追加を維持することができ、それぞれの個性を維持し、他方の実装方法をコピーすることはなかった。これは、VB.NETが最終的にC#に吸収されないことを確実にするであろう。
各言語は、迅速に一体化する。現在、C#でのみ実現でき、VB.NETでは実現できないアプリケーションはXNAゲームである。なぜならばそれは、VB.NETのプロジェクトテンプレートを持っていない。しかしマイクロソフトは、2つの言語が完全に等しくなるように、そのギャップを埋めたいと考えている。
結合した結果はVisual Studioの次期バージョンで明確に見ることができるであろう。VSは、C、C++から始まった。しかしVS 2010のエディタとコンパイラは、以前よりマネージド コードを含むであろう。これは、C#とVB.NETのコードが増えるという意味である。VSもOfficeも朝を迎えたらマネージドコードになるということはない。なぜならば、すでに大量の貴重なコードが存在しているからである。ただし、新しいコードは、通常マネージドである。
いくつかの調査で、VB.NETの開発者は、C#の同僚と比較して、給料が10~15%少ないのが現実である。マイクロソフトによって、それらの言語が同等であると認識させ、同じ待遇を実現するためには、より多くの時間が必要である。
特集コンテンツ一覧
Javaのパフォーマンスについての9つの誤信
Ben Evans 2013年5月8日 午後8時36分
アジャイルにおけるソフトウェアアーキテクチャ図とNoUML
Simon Brown 2013年5月1日 午後11時54分
本当に自己組織化したチーム
Emmanuel Gaillot 2013年4月30日 午前3時42分
ニーズに合ったESBを選ぶには
Kai Wähner 2013年4月15日 午後9時29分
デザインパターンの自動化
Gael Fraiteur and Yan Cui 2013年3月26日 午前2時34分
Datomic情報モデル
Rich Hickey 2013年3月18日 午前12時47分

こんにちは
コメントするには InfoQアカウントの登録 または ログイン が必要です。InfoQ に登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。
あなたの意見をお聞かせください。