「邪道編-Ruby × Windows で出来ること 」の資料を公開します - 荒井省三のBlog - Site Home - MSDN Blogs
L'eclat des jours(2010-07-06)
行ってきました。荒井さんはいつもの投げっぱなし(違)セッションで、いつも通りの印象。三年半、長かったですね〜。MS本社でJohn Lamの写真を撮ってきたのですが、撮っただけってのが悲しい。
.NET 2.xと4.0版は使用するランタイムの違いのみ。Silverlight版は多少機能ダウンなんですね。Ruby 1.8ベースなので、デフォルトではCP932(というよりも、Windowsのカレントカルチャに従うといったほうが正しい?)なのですか。オプションで1.9の一部機能も使えるようになると。
artonさんが最初にスライドも進めずにCOMのSTA/MTAの話を身振り手振りで始めたのにはびっくり。マイクの調子も良くなかったので、Ustreamで聞いていた人は大変だったでしょうというか、後ろにいた私も大変でした。あれは図とかがないと初めて聞く人には絶対わからない世界かと。身近ではマルチスレッド/マルチプロセスの区別すらわからない人多いし。私も知識で知ってるだけで、COMの奥深くを除いたことはないけど。
RubyをいかにWindowsの流儀(始めたのから数えると10年以上前?)に合わせるかという話と、Windowsの機能を呼び出す話が中心でしたが、やっぱりもうちょっと明るい話題が聞きたかったかなと思います。
Visual Studio .NET 2003(VC7)のEULAでは(artonさんたちの解釈では)GPL互換のプログラムが配布できなくてVC6にとどまり続けている話はちょっと驚きました。VS2003に付属しているEULAを読むと、確かにMSVCRTランタイム再配布をMSの意思で止めることができるっぽいことが書かれていて、それが引っ掛かったんだろうか?
Windows 95(だっけ?)でDocument And Settingsになったときはな〜私も愕然としたけど、きっとロングファイル名&空白パスに対応するためのリトマス試験紙なんだろうなと思ってあきらめることにしました。ただ、環境変数に登録するときも同じエスケープルールを適用してほしいとは思いました。""で囲むと、だめなんですよね、あれ。
個人的にびっくりというか、意外だったのがfork互換機能を重要視されていないって話。私Windows NT 4.0くらいまでUnix系の人から「forkないからWindowsだめだよね」って話しか聞いたことがなかったので。個人的にはforkよりもCreateProcessくらいのほうがいいんですけどね。親プロセスの資源をそのまま引き継げるのは便利ではあるけど、いまどきやるもんでもないかなと思います。