07/09/15 02:20
LINQ,Silverlight

マイクロソフトの新しい技術のニュースが、ここ最近よく耳にします。LINQについてはセミナーで勉強する機会があり、その合理的なデータの扱い方に大きな変化を感じました。このLINQですが、以前も話題に上げた関数型言語のことなんだと気づきました。LINQの予備知識としては、C#/VBのSQL文を言語拡張したもの、というのがあり、またある一方で、時期C#3.0には、Haskellのような関数型言語の使用が組み込まれるようだ、という記事を読んでいました。セミナーでこれが同一のものとわかり、気持ちが整理されました。RDB、XML、インメモリのデータを同一の方法で操作するというのは、データ構造に柔軟なリスト構造を使った言語LISPに由来する関数型言語を使用するというのも理にかなっていると府におちた次第です。Queryの構文がわかりづらいという評価もあるようですが、Haskellを少しかじった人にとっては、とても理解しやすかったのではないでしょうか。foreachのようなループを排除できるのも、関数型ならではなのでしょう。
またSilverlightも強力な技術です。AdobeのFlashと真っ向からぶつかる技術で、ついにきたかという感じを受けました。Flashとの違いはリアルタイムレンダリングにありそうです。しかしこれにはちょっと不安があります。クロスプラットホームはいいのですが、.NETクラスライブラリを使用するという点で、本当にFlashのような中立な立場でサポートされるのだろうかとちょっと疑問に感じました。過去の例(前科)から、わかりますよね。
しかし技術屋という視点から、このMSの動向はとても興味深いです。企業規模で約10倍Adobeを上回るMSが、RIAのデファクトスタンダードであるFlashに戦いを挑んできたのですから、かなり強力なものです。一通りは目を通して開発をしなければと思っています。