Windows Vista build 5456 日本語版

build 5384 からだいぶ改善されています.先日のサンプル (id:NyaRuRu:20060628#p2) の挙動が変わっていたので開発環境と新しい SDK をインストールしつつチェック中.
以下すぐに気付いたこと.

  • ペイントブラシの画像保存時の拡張子がデフォルトで小文字になった.
  • ReadyBoost でパフォーマンスチェックを行うようになった.手元の 1GB のものは速度が遅いということで対象外に.
  • Flip3D のウィンドウ周辺のジャギーが減少.
  • キーボード入力の取りこぼしがなくなった (超重要).

WinFS について (1)

あんまり書く気は無かったんですが,あちこち読んでるとあんまりなのでちょっと書いてみます.

  • 1年前から公開されていた beta1 の使用感とか感想が皆無
  • 「実際の機能についてはあまり詳しくはないのですが」という言い訳多数
  • しかし多くの人が Windows Vista の目玉機能としての大きな期待を抱いていたらしい
  • よく見ると各人が好き勝手に WinFS に理想を投影していた節がある

かく言う私も WinFS は beta1 をインストールして,名無しさん♯のサンプルコードを実行してみたぐらいなのですが,実際のところ国内で WinFS を「使って」いたのは Microsoft の技術セミナー講師陣と名無しさん♯ぐらいだったというのが実情だったりして.

WinFS について (2)

技術セミナーなどでアーキテクト向けのセッションに顔を出してみると,エンティティとかドメインモデルとか DOA とか O/R マッピングとか,そういう単語がわんさかと出てくるわけです.WinFS って,もともとそちら側の世界の住人だと思うのですが,そういう世界がデスクトップ開発から遠のくのはここまで大騒ぎになるほどみんな残念で仕方がないんでしたっけ?
本当はそうではなくて,WinFS 残念派の多くは.表面上いわゆるデータ層とかビジネス層に興味があるふりをしながら,実際は WinFS の上に構築されるプレゼンテーション層を期待していたわけでしょう.
日記やブックマークでの反応を見ていても,WinFS という技術を使って開発できなくなったことを悲しむというよりは,WinFS 世代に実現されると言われていた新体験を夢見ていたという人が多いようです.
日本もこれだけソフトウェア産業が盛んなのだから,日中は自分も SQL を叩いて O/R マッピングしているという人も多いでしょうに,そこをすっ飛ばして成果物に理想を投影するというのはどうも危険な兆候に見えます.バックエンドの DB の微妙な挙動の差違に四苦八苦とか,テーブルレイアウトが途中で変わってばたんきゅーとか,聞こえてくる話は全部遠い異国の物語なんでしょうかね?
はてなの WinFS 関係に言及された記事を一通り読んでみましたが,開発者視点で書かれたものがほとんど無くてかなり残念に思います.PHP + MySQL とか仕事で使っているという人は結構いるんじゃないかと思っていたんですけど,そういう経験から見て WinFS に何を期待していたのか読んでみたかったのですが……

WinFS について (3)

.NET は製品がリリースされて 5 年近くになりますが,デスクトップ環境ではずいぶんと苦戦してきました..NET は,メタデータと実行ファイルの統合や,整備された認証メカニズム,標準のリモーティングサービス,エビデンスベースとロールベースのセキュリティなどなど,複数のコンポーネントが協調するという部分に随分と配慮して作られて作られています.しかしその割に,デスクトップ・アプリケーションとして登場した .NET アプリケーションで,これらの機能が有効に活用されているものには中々お目にかかれません.プラグイン開発向けのフレームワークを作ればそれだけで,プラグインが大流行するアプリケーションが登場するかというと,そうとも限らないわけです.
WinFS についても同様の懸念があって,Microsoft の自社アプリケーションが Vista リリース直後に WinFS をサポート出来ないとなると,基盤だけ用意して結局活用されずじまいということになりかねません.少なくとも WinFS beta1 は数百 MB のメモリを食う立派な DB でしたが,せっかく面白い技術なのにパフォーマンス的に登場時期が早すぎて評判を落とすとなれば,10 年前の ActiveDesktop の悪夢再来です.

WinFS について (4)

昨年レドモンドに行ったときに,WinFS の混迷が何をもたらしたかについて,断片的ですが某氏に教えていただく機会がありました.

情報ストレージに関するMicrosoftの挫折は今回が初めてではない。さまざまな犠牲をはらいながら、やっとOSへと統合されることになっていたWinFS実装の断念は、他製品にも影響を及ぼすものだ。

それは,ここに書かれているように「他製品にも影響を及ぼすものだ」という話ではなく,どのように「他製品に影響を及ぼしたのか」という話でした.その話を聞いたとき,「ああ,WinFS のスリップは Microsoft の中では『過去』になっているんだなぁ」と感じたのを憶えています.
そのせいか,今現在書かれている本田雅一氏や元麻布春男氏の記事やネット上の議論には,いくつか時系列の認識について違和感を感じる箇所があります.
そこのところを整理してみましょう.
「混乱」が具体的にいつ頃だったのかは明言されませんでしたが,.NET Framework 1.1 がリリースされ,Visual Studio .NET 2003 に沸いた2003年の翌年,2004 年始めごろまでの話だったのではないかと思っています.

The Wall Street Journal紙の記事とは異なり,「the reset」によればAllchin氏がLonghornの開発遅れを認めたのは,2004年7月よりも何カ月も前のことであったという。Microsoftが「リセットする前」のLonghorn評価版を社外の開発者に対して配った最後の機会は,2004年4月に開催した「Windows Hardware Engineering Conference(WinHEC) 2004」であった。しかしその時点でMicrosoftの重役は,開発状況が制御不能になっており,開発を初めからやり直して,既に開発したコードのほとんどを廃棄する必要があることを知っていたのだ。

つまりこのリセット以前は,Microsoft は実際に WinFS の存在を前提に製品開発をしていたことになります.言い換えれば,現実的な意味での「他製品にも影響」は,このリセットの決断と,それによってリリースの遅延が明らかになることで,ひとまずの精算が行われたことになります.遅延はその影響そのものなのですから.
そして2004年8月27日,WinFSLonghorn から取り除かれることが発表されました.

ところが27日の発表でMicrosoftは、WinFSの提供はLonghornリリース後になるとした。ただし、Longhornクライアント版のリリース時にはWinFSのβ版が用意できるはずという。

その後,Visual Studio 2005 のベータ版が次々とリリースされ,C# 2.0 や SQL Server 2005 のネタで盛り上がりつつあった 2005年3月,突如 WinFS の「復活」が宣言されることとなります.しかしメインの製品と絡まない以上,この WinFS は将来の将来への布石という性質のものであったことになります.現在ネット上で議論されている多くは,明らかにこの時点で語られるべきでした.

ところが27日の発表でMicrosoftは、WinFSの提供はLonghornリリース後になるとした。ただし、Longhornクライアント版のリリース時にはWinFSのβ版が用意できるはずという。

さらにしばらくして2005年9月,米国で開催された PDC にて,C# 3.0 と LINQ の話が沸いて出ます.さて,この人達,いつからこんなものを作り始めていたんでしょうねというわけですよ*1
今回,WinFS の成果物から将来の ADO.NET への反映が示唆されたわけですが,その将来の ADO.NET とやらはどういうものなのでしょうか? 青柳さんのところで紹介されています.

ADO.NET vNext っていうのは ADO.NET の次のバージョンのことです。Orcas といっしょにリリースされるんだと思います。一部では ADO.NET 3.0 と呼ばれてたりもします。

ADO.NET vNext: The Entity Framework, LINQ and more
今までの ADO.NET は SqlConnection とか Sql Command とかデータベースとやり取りするためのクラスライブラリでしたが、ADO.NET vNext ではそういったローレベルだけでなく、抽象化したもっとハイレベルのレイヤも受け持つようになるようです。

(中略)

エンティティデータモデルもおもろいですが、LINQ を使った時点でマッププロバイダとかを気にする必要がほとんどなくなっちゃうとこもかなりおもしろく感じました。相手がデータベースなのか ADO.NET Entity Framework なのかは LINQ の中で勝手にうまいことやってくれるので、コード上はたいした違いはないっていうことですね。

メタデータストアが先か,クエリ言語が先かという点では,今の Microsoft はクエリ言語の整備に比重を置いているように見えます.まずクエリを書けるようにし,次にクエリを書くだけですむようにし,最後に来るのは何なのでしょうかね?

*1:入れ替えトリック