Diary?::2006-03-06

00:24

副作用のある言語ではメモ化が役に立たない場合が多いんじゃないかと思う。例えば普通にメモ化を Python で実装した場合、多分その関数に同じ引数を渡して返ってくるオブジェクトはそのオブジェクト ID も一致しているはず。ということは、そのオブジェクトに変更があった場合同じ引数でも実質違う結果が返ってくることになる。

そうなるとメモ化する意味がある関数というのは、内部に更新可能な状態を持たない (普通に使う分にはそうならない) オブジェクトか辞書のように copy() メソッドを実装しているオブジェクトになる。でもそれって嬉しいか?

実は copy モジュールでどうにかなると思っていた時期があるのだけど、案外コストがかかることが判明したので没。ということはつまり、数値計算や文字列処理などで細かく時間を稼いでいくのが一番まともな使い方ということになる。そしてその手の処理が頻繁に行われ、尚且つキャッシュのヒット率が凄まじそうなのは何があるのか。

追記@02:14 正規表現オブジェクトの生成なんかは普通に使えるな。こういう更新可能な内部状態を持たないもしくは気にする必要の無いオブジェクトの生成には力を発揮すると思う。

02:14

俺は URI をプログラムの API みたいなもんだと思っている。クールな API は変わらないが、プログラムが死ねば API も死ぬ。そして全てのプログラムはいつか死ぬだろう。だけど、そのプログラムが作ったデータはもっと長く残る。……などということを、結城先生の「エディタで書く」を読みながら思った。

URI つまり Web サイトを維持する努力ってのは勿論重要なのだけど、再利用性の高い形式でデータを出力したり、誰もが自由に使えるようなライセンスを採用するのはもっとずっと重要なんじゃないかってこと。例えば独自フォーマットのデータ形式であっても、そのフォーマットの仕様書やソースコードが公開されていてロイヤリティフリーとされていれば、そのフォーマットで作られたデータの寿命を伸ばすことに繋がるだろう。それ以前にもっと一般的なデータ形式でエクスポートしておけという話でもあるんだけど。

15:30 読書記録「Y十M (3)」

十兵衛に堀の女たち (なんか前にも増して可愛くなっている気がする) が教えを請う場面がなんだかほのぼのしている反面、戦いが始まった瞬間の空気の締まり方が心地良い。こういうメリハリというのはやはり重要だな。緊張感が続くだけでも単調になるというかね。その緊張と弛緩のコントロールをしている柳生十兵衛が反則的なまでに魅力的。

20:28

路上駐車があまりにも多いんで、警察が民間の業者に摘発の依頼を出したそうだ。これを元に警察の職務を営利企業が肩代りしているという設定の……既にありそうだな。

23:35

Winny 事件を見ている限りでは、やはりこの世界の行く末は暗いとしかいいようがない。

Written by Kuwata Chikara
Creative Commons