著作一覧 |
マイクロソフトで、Windows版Rubyと、いかにしてASRがWindowsの流儀に合わせているかについてのセッションを行いました。ご来場くださった皆様、招待くださった荒井さん、スタッフの方に、楽しい時間を過ごすことができたことを感謝します。ありがとうございました。
内容は、以前札幌RubyKaigi2008で行ったASRの紹介を2010年用に変えたものです。といっても、ASRは結構安定しているため、新たに追加したDXRubyのデモの追加とか、VisualuRubyのサンプルのデモ実行とかが加わった程度です、と思います。
最新版のRScriptからはIE内での実行を行えない(MSHTAなどのIEコンポーネントをローカルに実行するプログラムからは実行できます)ように制限を付けましたが、最初に行われた荒井さんのセッションではIronRuby(というよりもSilverlight)でHTMLのDOMを操作したりする方法が紹介されていましたので、今後はIE組み込みにはそちらを利用したほうが良いでしょう。DLRのデバッグコンソールはそれだけで十分に良さげでした。
発表資料は、PDFまたは、Slideshare(20分近く経過してもupload処理が完了していないようなんだけど、見えるなぁ?)からどうぞ。
終わった後の懇親会みたいな場で、CreateProcessを利用してforkを実装できるのではという話があって、そこではIOの共有をどうするのか、といった話をしましたが、さらに(う)さんに伺ったところ、それ以上に、起動したプロセスをforkした次の命令から実行させることが重要と指摘されました。もっとも、サスペンドさせることはできるので、次にEIPを設定させてどーんと動かすとかやればできそうではあります(結局有効化されていませんが、僕自身もRScript内部にはIActiveScriptのメソッド経由で実行スレッドをサスペンドさせてEIPを塗り替えて強制終了させる機能を実装したので、おそらくプロセスをまたがっても(最悪、ワーカスレッドを利用するとかして)可能だろうと踏んでいます)。が、それ以上に問題は、別にforkが実装されても嬉しいユースケースが見当たらないため、そういった実装をわざわざしてくれる人がいない、という点でしょう。というわけで、実装パッチは歓迎とのことです。
ジェズイットを見習え |