高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

VSUG Day 2007 Winterに行ってきました(その2)

大まかな感想は帰りに書いたので、今回はじめて知ったことを書いておきます。

.NET Framework3.5は2.0に上乗せ

.NET Framework3.0が.NET Framework2.0に機能を追加したものであるように、今回も.NET Framework3.5は2.0と3.0の上で動くフレームワークになっているようです。まあ、今回は2.0にも3.0にもSP1を適用した上でないといけないようなので、既存部分にも何らかの調整が行われているようですが。
なので、.NET Framework3.5をインストールするには、2.0と3.0 それぞれのSP1のインストールが舞え準備として必要になるそうです。

.NET Framework2.0でC#3.0の機能を使う!?

今度のVisualStudio2008では使用するフレームワークを2.0, 3.0, 3.5の三つの中からどれを使用するかを選択することが出来ます。そして、あわせてC#言語自体も2.0から3.0にバージョンアップしています。なので、VisualStudio2008のコンパイラではC#3.0の機能を使ったソースコードをコンパイルできる。
ここで、使用フレームワークに2.0を指定しても、C#2.0の機能しか使えないわけではなく、C#3.0の機能を使うことが出来る ということ。
推測ではVisualStudioフレームワーク切り替え機能は、ライブラリの構成だけを切り替えるだけなので、コンパイラC#3.0の機能を使うことが出来る ということでした。

XNA Game Studio

XBox360とWindowsXP SP1, Vista以上で動くゲームを作るための追加環境、いままでにも何度かid:NyaRuRuさんのところで言及されていましたが。
XNA自体は(他のCPUへの導入実績もあり).NET Frameworkではなく.NET Compact Frameworkのサブセットなっているようで、ゲームを作るに当たってはいろいろと癖が違って困る部分があるらしいです。

LINQ

見た目がSQLに似ているものの、SQLとは関係ない言語機能の一つ と考えた方が良いらしいですね、まあ、よく見るとfrom句が最初でselect句が最後と言うことでSQLとはかなり違いますが。
どうも、ラムダ式やらの新機能とあわせて使っていろんなことが出来るらしく。サンプルでは配列のデータをまとめているだけでしたが、やろうと思えばPerlのmap関数のように、全配列要素に一定の操作を行うことも簡単にできそうです。
また、クエリの対象により内部で使われるクラスが変わっており、そこをちょっといじればいろんなデータ(ネット上のデータなど)をLINQのクエリの対象に使えるみたいです。この辺は漠然としか分からなかったので、やはり実際にさわってみるしかないでしょうね。


一般公開のソフトにどれだけ使える機能なのかは分かりませんが、これからのソフトは.NET Framework3.5使用も視野に入れて作成してみたいですね。今回もExpress Editionが出ますから、オープンソースにしておけばStandard以上で作ってもほかのユーザーさんが扱えるソースコードが作れますしね(Delphiのバージョンアップで一番迷ったのはそこでしたし。上位バージョンは無償のエディションがないですからね)。