Visual Basic 中学校 掲示板 投稿内容
タグのない投稿を抽出 統計 RSS

Visual Basic 中学校 > 投稿一覧 >

VBに進化には

タグの編集...

投稿者 名無しのV   (社会人)   投稿日時 2012/9/16 18:36:37
VBははやいもので2012に進化したようです。
しかし、VBを学んでいますがいまだに2005の図書で学んでいるのが現状です。

VB2012はどのような進化を遂げたのですか?


投稿者 魔界の仮面弁士   (社会人)   投稿日時 2012/9/17 12:21:05
> いまだに2005の図書で学んでいるのが現状です。

VB中学校の講座でも触れられていますが、最大の変化は、
統合言語クエリ『LINQ(Language INtegrated Query)』に関する内容ですね。
http://homepage1.nifty.com/rucio/VBLINQ/index_linq.htm

LINQ(リンクと発音します) は VB/C# の 2008 から導入された機能ですが、
Microsoft 製品以外でも、JavaScript(jLinq、JSINQ)やPHP(PHPLinq)、
Java(Quare、JaQue、Querydsl)などの言語にも実装されてきており、
かなり大きな変化となっています。是非習得してみてください。



> VB2012はどのような進化を遂げたのですか?
 VB2008 は「LINQ」「XMLリテラル」
 VB2010 は「並列処理」「複数行ラムダ式」
 VB2012 は「反復子」「非同期プログラミング」
あたりが見所かと思います。

細かい機能追加が多々あるので、すべては書き出せませんが、抜粋で――

【VB2008の新機能】
http://msdn.microsoft.com/ja-jp/library/we86c8x2%28v=vs.90%29.aspx
http://msdn.microsoft.com/ja-jp/library/y17w47af%28v=vs.90%29.aspx

・.NET Framework 2.0/3.0/3.5 に対応
・LINQ(統合言語クエリ)に対応
・Null 許容型に対応(「As Nullable(Of Integer)」を「As Integer?」と書ける)
・型推論(「Dim a = 10」と書くと「Dim a As Integr = 10」の意味になる)
・オブジェクト初期化子(Dim a As New Point() With {.X = 10, .Y = 20})
・匿名型(「Dim a = New With {.Name = "名無しのV", .Job = "社会人"}」)
・拡張メソッドに対応(ExtensionAttribute 属性)
・ラムダ式に対応(「Dim ave = Function(x As Integer, y As Integer) (x + y) / 2」)
・XML リテラル、XML 軸プロパティ(「Dim a = <abc>xyz</abc>」)
・If 演算子の追加(三項演算子)…If ステートメントとIIf関数を合わせたような物
・部分メソッド「Partial Private Sub」のサポート(VB2005 のPartial Classと併用する)


【VB2010の新機能】
http://msdn.microsoft.com/ja-jp/library/we86c8x2%28v=vs.100%29.aspx
http://msdn.microsoft.com/ja-jp/library/y17w47af%28v=vs.100%29.aspx

・行継続文字「 _」を省略可能になった(分割位置によっては省略できない場合もある)
・コレクション初期化子に対応(「Dim a As New List(Of String)() From {"VB", "C#", "F#"}」)
・自動実装プロパティ(End Property無しの「Public Property Name As String」)
・複数行ラムダ式およびSub のラムダ式に対応
・並列処理の追加
 ・Parallel.Forメソッド、Parallel.ForEachメソッド
 ・Taskクラス
 ・Parallel LINQ (AsParallelメソッド)
・VBランタイムの無効化オプション(/vbruntime オプション)
・動的オブジェクトのサポート(System.Dynamic 名前空間)
・ジェネリックの共変性と反変性


【VB2012の新機能】
http://msdn.microsoft.com/ja-jp/library/we86c8x2%28v=vs.110%29.aspx
http://msdn.microsoft.com/ja-jp/library/y17w47af%28v=vs.110%29.aspx

・Async / Await キーワードによる非同期コードサポート
・Yield キーワードによる反復子


この他、IntelliSense が Ctrl キーを押すと半透明になるとか、
Ifをクリックすると対応するEnd Ifが強調表示されるとか、
処理の流れを記録して、それを逆に実行(ステップバック)できるとか、
メソッドスタブの生成(クラスやメソッドの定義を自動生成する機能)、
マルチモニター環境でコーディングする場合の作業効率化、
開発環境のカスタマイズ性強化(テーマを選択可能になった)などなど
VB言語機能だけでなく、Visual Studio 開発環境本体側の機能強化も多数あります。

また、WPF や Windows Store Application といった
新たなプラットフォームへのサポートも追加されています。