Mac OSXで動作するRubyというだけなら単にコンパイルするだけでよいのだが、 このMacRubyは、YARVをベースに
するという大胆なもの。すげーっ。
これが成功すればRubyは名実ともにOSXの公式スクリプト言語として定着するに違いない。
言語設計者として一番気になるのは、リストの最後にある「Objective-C呼び出しへのマッピング」。 上の例では「foo:bar:」というObjective-Cのメソッドが存在しなければ 通常のfooメソッドの呼び出しになるようになってるそうだ。
将来(2.0?)のキーワード引数に対するヒントになるかもしれない。
言語実装者として気になるのは、世代別GCの実装。 確か明示的なライトバリアが必要なタイプだったと思うんだけど、 これをどうしたかっていうのも興味深い。
っていうか、手元にOSXマシンがなくて試せないってのはどうなのよ。
最近はMacBook安いし、ひとつ手元にあっても、という気もしないでもないのだが、 あのポインティングデバイスが駄目なので*1、 どうにも購買意欲が。
*1 試したがiPod Touchも駄目だった
Monkey PatchingがRubyを破壊するっていうけど、 Rubyを破壊するって言われたものは他にもいーっぱいあるよね、って話。
Ruby、危うし(苦笑
朝起きてメールチェックしていると、 今日のミーティングの時間についてのメールを発見した。
今日が楽天の打ち合わせの日であることをすっかり失念していた。 どうやらなんかの加減で手帳にスケジュールを書き込み忘れていたらしい。
大あわてで飛行機の予約をし、朝食後すぐに出発。 無事間に合った。
いやあ、朝のうちに気がついてよかった。 ミーティングが始まってから「まつもとさんどうした?」とか 電話がかかってたらどうしようもないものな。
楽天による電子マネー。事前に購入しておかないといけないのが いまいち使い勝手が悪そうな。
小額決済や寄付などに便利なので 日本でもPayPalくらい電子マネーが普及してくれるといいんだけどな、 と常々思っているんだが、なかなか道は険しそうだ。
もうちょっと使い勝手が良いように思えるイーバンク銀行のメルマネでも さっぱり使われてないものなあ。
楽天キャッシュの方は
というメリットがあるが、普及にどれだけはずみがつくか。
時差ぼけも抜けきらないうちに 大阪でセミナー。
今回はオープンソースをお題に、
による講演。
夜は田代OSSセンター長から夕食のお誘いもあったのだが、 まっすぐ帰ることにする。
帰りの飛行機で、アメリカに一緒に行った島大の先生に会う。 月曜、火曜と長崎だったという。どんだけタフなんだ。ありえん。
そういう意味では、実は東京は新しい価値を生み出す必然性が乏しい土地なのかもしれない。今までの価値観で物事がすごい勢いで流れている。その流れの中での勝負。
必然性という意味では、今までのやり方では勝てなかった土地にこそチャンスがあるのかもしれない。新しいやりかた、インターネットなどのテクノロジーを駆使しないと勝てない土地。
これがインターネットを活かした新しいサービスが生まれる土地なのかもしれない。
そうなのか。
私の住んでいるあたりは「今までのやり方では勝てない」という点では よそに負けない自信があるが(なんてネガティブな自信)、 ここから「新しいサービス」を誕生させるためには 民間にちょっと危機感が足りないかもしれない。
行政はかなり危機感を持ってて、それがRubyCity MATSUEとかにつながっているわけだが。
SQLiteの開発にリソースが集まるのはいいことだと思う。
ところで、参照先の記事には
SQLiteは、厳密な意味ではオープンソースソフトウェアではない点に注意すべきだ。SQLiteの基本的なソースコードはパブリックドメインの下で公開されているが、これはOpen Source Initiative(OSI)が定めているOpen Source Definitionの技術要件を満たしていない。
とあるのだが、パブリックドメインがOSDを満たさないというのは初耳だ。
時差ぼけか、体がだるくてやる気が出ない。 過去の経験だとこれが5日から1週間続く。
先日のGoogle TechTalkのビデオが公開されている。
で、redditのコメントか見てると「英語へたくそ」というコメントが多くて泣けてくる。 が、英語の勉強するくらいだったらそのぶんコーディングしてたいので、 無視することにする。
文句を言うような奴は聞かなくていい(涙
泣いてやるッ。
それはそうと、鵜飼さんのブログによるとSteve Yeggeが
Who's going to take point on handcuffing him to a massage chair until he signs his offer? -- Steve Yegge
と言ったんだそうだけど、Steve Yeggeが私のようなものとGoogleで一緒に働きたいと 思ってくれるというだけで幸せだ。
働かないけど。
Monkey Patchingとは既存のメソッドを置き換えちゃうテクニックのことだが、 Ruby(特にRails方面)で多用されている。
言語そのものをどんどん拡張できるという意味で非常に強力かつ便利なテクニックだが、 良いことばかりではない。
Monkey Patchingは本質的にグローバルな状態変化であるため、 思わぬ影響がでないという保証はない。 また、複数の場所から同じメソッドに対してMonkey Patchingを行おうとすると 衝突により不整合が発生する可能性もある。
Ruby 2.0ではnamespaceやpackageやmethod combinationでこのような問題に対して なんらかの対処を行おうと考えている。
で、今日はRubyの15回目の誕生日である。
私が石塚さんと(chat*1経由で)話をしていて、プログラミング言語を作ることと、そのコードネームとしてのRubyが決まったのが1993年の2月24日ということである。 この時点ではまた1行もコードを書いていない。
ソフトウェアの誕生日がいつか、という点において合意は得られていないと思うが、 そもそも物理的な実体がなくコンセプトこそが重要であるソフトウェアにおいては 「作ろうと思った」、「名前が決まった」というのがもっとも重要なイベントであると思うのである。
最初のリリースを誕生日だと見なす人もいるだろうが、 その場合にはRubyの誕生日は1995年12月21日ということになるだろう。
で、誕生日に何をしたか、というと特に何もしなかった。 薄情だろうか。
*1 より正確には我々が作ったマルチユーザtalk、mtalk
_ ささだ [なんと! 世代別GCですか。凄いなあ。]
_ い [MacBookをノートだと思うからイカンのです。 私はHHKと1000円マウスと液晶モニタ繋いで、 蓋を閉じて、..]
_ まつもと [そういう意味ではYARVがすでにnative thread「対応」です。 MacRubyはYARV以上のことはして..]