2006年2月2日に開かれた「Microsoft Developer Conference 2006」のゼネラル・セッションにおいて,Anders Hejlsberg(アンダース・ハイルズバーグ)氏が,今後の開発環境の方向性について語った。Hejlsberg氏は現在,米MicrosoftにおいてDeveloer DivisionのTechnical Fellowを務めている。C#の産みの親であり,.NET Framework開発チームの主要メンバーである。

 講演では,実際に次期C#のベータ版を使ったデモンストレーションを多用している。以下のハイライト・シーンはデモのシーンを取り除いたエッセンス部分である。デモンストレーションを含めた全シーンは,下部の全シーンをダウンロードして見ることができる。


LINQプロジェクトとは?(1分58秒)

[画像をクリックするとムービが再生されます]

 LINQ(Language Integrated Query)プロジェクトのコンセプトは,開発言語と,データベースに対するクエリの統合である。どのように言語を拡張してクエリを取り込むか,といったことを検討し,次のバージョンであるC# 3.0やVisual Basic 9.0に盛り込むことを計画している。LINQプロジェクトを利用することで,.NET対応開発言語で,リレーショナル・データベースを簡単に操作できるようになる。これまでより強力なデータアクセス・フレームワークが利用可能になる。XMLデータにも対応し,XMLデータベース処理も容易になる。



C#の拡張(--28分30秒~1分45秒)

[画像をクリックするとムービが再生されます]

 LINQプロジェクトを取り込むことで,データベースに対するSQLクエリを,C#のキーワードとして実装するようになる。例えばSQLのWHEREやFROMを使ったSELECT文は,FROMで指定したテーブルをインスタンスとしたSELECTメソッドに置き換えられる。WHERE文についてはプロパティで実現する。このようなSQLに似た構文でオブジェクトを選択できるようになる。C#の次期バージョンでは,このような「クエリ式」を含めた大きな6つの革新がある予定だ。ほかは「暗黙なローカル変数の型付け」,「拡張メソッド」,「ラムダ式」「オブジェクトとコレクションの初期化子」,「匿名型」である。



LINQプロジェクトの特徴(--55分40秒~2分53秒)

[画像をクリックするとムービが再生されます]

 LINQプロジェクトの特長をまとめると次の4点になる。

 1つ目は.NETのために拡張された言語仕様であること。.NET対応開発言語のネイティブな構文でクエリ操作などが可能になる。

 2つ目は,.NETのすべてのコレクションに対して,LINQプロジェクトで拡張した構文が使えること。SQL風な選択式を,あらゆるコレクションに対して使える。

 残りの2つがDLinqとXLinqである。DLinqはRDBのためのLINQ拡張フレームワークであり,クエリ操作をより容易にしたもの。XLinqはXMLデータに対するクエリを容易にするオブジェクトモデルである。

 LINQプロジェクトの第一のメリットは,オブジェクトとリレーショナル・データとXMLデータを統一的に扱えるようになる点である。次に,クエリが.NETのネイティブ言語になることで,Visual StudioのIntelliSenseを使えるようになったり,コンパイル時に構文チェックができるようになったりする点である。現在のようにSQL文を文字列としてメソッドに渡したのでは,SQL構文まではコンパイル時にチェックできない。

 そして,C#やVisual BasicにSQLやXQueryと同等の能力が加わるという点も大きなメリットになる。これらの機能の実装は次期Visual Studio(開発コード名:Orcas)をターゲットにしている。

講演の全編はこちら
●Part1:開始~15分(96.8Mバイト)
●Part2:16分~30分(72.6Mバイト)
●Part4:46分~終了(79.1Mバイト)

本文,ビデオ編集・制作:TRO(www.tro.info