2004/05/08
AOPについて。http://www02.so-net.ne.jp/~greentea/pre.html
Lisp (別にElispでもいいんですけど) をちょっとかじったことがあるなら、 adviceの存在は知ってますよね。AOPというのは、そのadviceに (ワイルドカー ド付きの) 型システムを持ち込んだものというのが第一印象です。
その印象は本質を突いているかと。 Gregor Kiczales氏のやってきたことに注目すれば、 CLOSのメソッドコンビネーションからAOPへはごく自然な流れに見える。
Kiczales氏とはILC2003でちょっと話した。 「AOPのポイントカット指定方法はSchemeみたいなanonymousなfirst class object中心の言語だと困りませんか」 と聞いたら、「そうだねえ、困るねえ」って、あんまり気にしてないみたい。 彼の印象は、体力系超絶技巧派。理屈の綺麗さは脇に置いといて、 その技巧を駆使して動くものをわしわしっと作ってしまう感じ。
Tag: Lisp
2004/04/30
すげぇ→一輪セグウェイ。 この人は前にも(2輪の)自作セグウェイを作っている。 Paul Graham、Robert Morrisと一緒にViawebのプログラム書いてた人でもある。
2004/04/25
Lispで一番クリティカルな部分を速度で最適化する場合、 (optimize (speed 3) (safety 0)) とかにして、 型宣言をつけまくるわけだが、関数を編集して再定義したら インタラクティブに(disassemble 'foo) してどういう アセンブリコードが出てるかを調べる、というのをよくやる。 首尾良くCで書くのと同等のコードが出たらニンマリ。 もちろん(safety 0)だとミスればSEGVるところまでCと同等になるんだけど。
結局そのへんの泥臭さってのは、Cで書いててもLispで書いてても 似たようなもので、Lispプログラマも必要に応じて 「コードがどういうアセンブリに落ちるか」を意識する。 というか、80年代からLispやってた人達ってのは性能に関する議論を はじめるとだいたいそのレベルで考えるみたいで、 すぐに「こっちの方が1インストラクション少なくて済む」とか 「メモリロードが少なくなる」とかそういう話になる。 (MLerもコンパイル後のコードにセンシティブなような 印象があるんだけど、あんまり話したことないから知らない)。
そういう「低レベル(=アセンブラに近い)プログラミング」を している場合でも、Lispだとマクロを使ってがんがん定型処理を 自動化してくから、Cで書くのに比べてはるかに楽ではあるんだが。
このへんの感覚は、90年代以降に登場した高級言語とちょっと違う ような気がする。処理系そのものにタッチしている人を除いては、 その言語をかなり使ってる人でも、コンパイラの吐くコードがどうかって 考えながら書く人ってあんまりいなさそう。 それをしなくていいのが高級言語のいいところ、ってのはそうなんだけど、 クリティカルな部分でunder the hoodのどろどろしたところを いじりたいっていう要求もあるわけで。
効率は欲しいけどそういうどろどろは嫌、って人がstatically typedな 関数型言語に流れるんかな。コンパイラを賢くして全部やらせようっていう。
まあ、Lispっつっても処理系はいろいろあるわけで、 バイトコード処理系だとそこまでこだわりはないしな。 Gaucheだってネイティブコードにコンパイルしての最適化までやる気はないし。 VMレベルではもっと速くしたいけど。
いやまてよ。新しめの言語に比べて、そもそもLispは処理系に興味がある人くらいしか 触ってないって可能性があるか。
Tags: Programming, Lisp
2004/04/22
http://homepage3.nifty.com/mogami/diary/d0404.html#21t5
実は液晶というのは単位面積あたりのドット数を増やしても歩留まり (つまりコスト)が変わらないらしい。そういうことなら今すぐにでも ドット数を倍増させてなめらかな文字を表示できるようにするべきだと 思うのだがなぜどこのメーカもやらないのだろうか。 OSが対応しなければならないと言うのはあるのだけれど。
ドット数が4倍になると、ディスプレイへの転送バンド幅も4倍、 フレームバッファも4倍、GPUのフィルレートも4倍、 フォント等ベクトルデータのラスタライジングの計算量も4倍になる、 ってあたりがネックなような気がする。 フレームバッファの量は最近のGPUなら問題なさそうだけど。
映像信号までは既存のままで、LCD素子側でフィルタかけちゃうとか いう手はありかもしれないが、せっかくの解像度があんまり嬉しくないような。
3年くらい前に200dpi, 3800x2400くらいのLCDを展示会で見たが、 もの凄く綺麗だった。理想的には300dpi、30inchくらいのディスプレイで 作業したい。そしたら、机の上に紙を広げてる感じに近くなるんではないか。 解像度でいうとIMAXくらい? そう遠くない話だと思う。
あと、ダイナミックレンジもね。昨年のSIGGRAPHでhigh dinamic range なディスプレイが展示されてたけど、あれを見たら普通のディスプレイが くすんで見える。ただ、長時間見つめていて目にいいかどうかはわからんけど。
Tag: Hardware
2004/04/16
http://www.onweb.to/palestine/siryo/jo-fallujah-en.html (邦訳)
大義の無い戦争だろうと、始まってしまったらあとはどうやって 最小限の被害で終わらせるかを考えるしかない。その大前提は、 「共通の敵=テロリスト&フセイン残党」という図式を保つことだった (それが正しいか否かは別の話)。 それを現地で恨み買うような真似してどうなるのさ。
「共通の敵=米国」と認識されたら、もう手の出しようがないじゃん。 真実がどうであれ、「そう思わせない」ことが、最低限の戦略、 何をおいても守るべき一線だったんじゃないか。
米国はもう手を引くようにとの請願: http://www.moveon.org/unauthority/
すぐに国連が何もかもやるのは無理だろうし、拒否権に阻まれて 動きが取れないかもしれないが、 米国の戦略は下手すぎる。
Tag: 生活

Comments (2)