2005/12/08
Paul GrahamのY Combinatorが出資した Reddit。最初はCommon Lispで書かれていたが、 つい最近Pythonで書き直された。 作者はLispに好意的ながらも、 スイッチの理由をいくつか述べている。 当然、Lisp界では議論が噴出。 ついに「へへん、俺なんかLispでクローンを1時間で書いちゃったぜ」なんてのも。
Lispの宣伝になるサイトが減るのは残念だけれど、個人的にはPythonで動くのなら それでいいんじゃないかって思う。この件や"Ruby is acceptable Lisp" の 記事でもって、Lisp界にも簡単なフレームワークとかproduction provenな ライブラリとかもっと大きなコミュニティとか必要じゃね? という話はあって それはそれで結構なのだけれど、もし他の言語で同じ位快適に同じ位良いソフトが書けるなら Lispが別言語に置き換わっても人類全体として損はしてないよな。
本当にLispの力が必要になるアプリは、逆にうんとハイエンドであったり、 開発リソースなどの他の条件が厳しい領域だろう。80年代のハードウェア で3DCGアニメーションを作る(WiLiKi:Lisp:Geometry)とか、あるいはもっと些細な例だけれど 限られた期間でがりがりチューンしてく場合とか (WiLiKi:Seminar:CommonLisp:2004の「ACL7.0の新しい正規表現」補足)。 そういう領域は決して大きくはならないけれど、無くなることもない。
そこにLispのエッジがあるのなら、たとえニッチであってもそのフロンティアを 広げて行くことを怠っちゃまずいだろうと思う。他の「人気の言語」と同じことを 後追いでやるのは、意味がなくはないけれど、それだけじゃねえ。
Tags: Programming, Lisp, YCombinator
2005/12/06
Binary 2.0、 ネタをここまで昇華するノリが素晴らしい。 行きたかったなあ。
感想を見ていると、軽量言語とは対極にある世界だ、というような言及が ちらほらあった。確かに高レベル言語の重要な機能の一つはプログラマが低レベルな 世界を気にしないで済むようにすることだけれど、二つの世界は表と裏、葉っぱと根っ子、 あるいは舞台と舞台裏。客として眺めるだけなら表を見ていればいいけれど、 この世界でプログラミングを生業とするなら両者は切っても切れない関係にあるはず。 何故なら、裏を知らないとトラブルに対応できないから。
だいたい、抽象度の高い、ハイレベルなものごとというのは泥くさい現実の ある面を特定の切り口で簡略化することで成り立っている。 (そもそも、デジタル回路からしてアナログな世界を閾値でえいやと 2分することで動いてるわけだし。) その際に、簡略化が成り立つ前提ってのが必ずある。システムが 正常動作してる間はそういう前提を余裕でクリアしているんだけれど、 システムがリミットぎりぎりまで使い込まれて、 マージンが無くなった時が問題だ。 トラブルとは、抽象化の壁のほつれである。 抽象化されたハイレベルな世界でいくら強固なロジックを組み立てても、 根元がぐらついたらそのロジックはぺしゃんこだ。 それを建て直すには、少なくともほつれた抽象化の壁の一つ向こうの 世界を知ってないとどうにもならない。
もう一つ、軽量言語と低レベルな世界をスペクトルの両端に置くのに 違和感があるのは、Lispでは両者はそんなに離れていないからかも。 inner loopを最適化する時は普通にdisassembleするし (そもそもdisassembleが言語仕様に含まれている)。
Tags: Programming, Conference
2005/11/27
昨日、「降りてきてしまうもの」に対して「ヴィジョン」という言葉を使ったが、 完成形が一瞬でひらめく、というようなものだけを念頭に置いていたわけではない。 むしろ、何だかわからないもやもやしたものが来て、とにかくそれを形に しないことには居られない、というようなものを考えていた。
産みの苦しみはこっち持ち、なんである。そんな苦しいことは避けられたら 避けたいんである。でも、産まないでいる方がもっと苦しいから、仕方ないんである。 ただどっちも苦しいから、降りて来たものに気づかないふりをして 誤魔化すという誘惑もある。緩慢な精神的死を迎えるとしても、 人間、楽はしたい。 金銭的な報酬とか、功名心とか、嫉妬とかは、そういう怠惰を抜け出して 苦しみに直面するために使える便利な道具である。
金銭や名誉や嫉妬が直接の動機なのか、それとも代替物なのかは、 ちょっとした想像をしてみればわかる。金銭を求めていると思っている人は、 もし一生好きなことをして暮らせるだけの金が入ったとしたら、 周囲からの賞賛を求めていると思っている人は、無人島に一人だけで流れついたとしたら、 嫉妬に駆り立てられていると思っている人は、妬ましいその人と自分の立場が入れ替わったと したら。それでも今苦しみつつやってることをやっぱりやるだろうと思えたら、 きっと何かもっと大きなものに動かされているのだ。 (もっとも、想像するだけじゃなく本当にそうなってみないとわからないこと、 ってのはあるかもしれない。)
2005/11/25
信じられないモチベーションといったら、ショスタコービッチもそうだ。 党から創作活動を制限されていたジダーノフ批判以降の約4年間、 ひたすら机の引き出しの肥やしにするために、24のプレリュードとフーガ、 弦楽四重奏第4〜5番、バイオリン協奏曲第1番といった超傑作をこっそり作り続けてたんだから。 [...] 発表することはもちろん、作っていることさえ禁じられている状況なわけで、 「オレを認めて欲しい」という欲求が一切介入しないところで高度な創作活動を続けていたところがすごい。
本当のところがどうだったかは知らないけれど、私はこのエピソードを聞いて、むしろ 「そんな状況であっても、創作を続けずにはいられなかった」と感じる。
ある種の才能は、祝福であると同時に呪いでもある。 Stephen Kingがどっかで「書かずにはいられないから書く」とか 「書かないとおかしくなってしまう」とか言ってたような気がするが、 まさにそうなのだと思う。ヴィジョンがつぎつぎに降りてきて、 創れ創れとけしかける。語弊はあるかもしれないが、 どんどん形にしてゆかないと精神的糞詰まりを起こして (精神的に)生きてゆけなくなるのではないか。 Kingは「ミューズが頭上で下痢している」(嘔吐だったかも)という 表現もどこかで書いてた気がする。 ブレヒトの「ガリレイの生涯」の14幕のガリレイも似たような境遇だ。 教会に蟄居を命じられ、細々と書き綴る"Discorsi"は書く端から 教会に取り上げられる。それでも書かずにはおれない。 それを発表して名をあげたいとか科学に貢献したいとかいう次元を離れているのだ。
困ったことに、この種のヴィジョンを得てしまう能力と、 それを形にする能力は必ずしも一致しない。しばしば両者はともに「才能」と 呼ばれて混同されるが、本来は直交する能力である。 ヴィジョンがあふれてもそれを形にするスキルが ついていかないとおかしくなる。一方、スキルがあって器用に 求められるものを形に出来るが、自分の本当に創りたいものが何か わからずに空虚な思いを抱いている人もいるだろう。 (前者は"gift"、後者は"talent" に該当するのではないか、と ふと思ったが、ちょっと調べた限りではそういったconnotationに 触れられている辞書は見当たらなかった)。
才能は獲得されるものか備わっているものかという論争はあるが、 少なくとも後者の(形にする)才能は獲得されるものだと思う。 才能があり、素晴らしい創作活動を続けている人は両方を最初から 備えていたかのように見えるかもしれない。しかしそれはむしろ、 内なるヴィジョンに子供の頃から気づいていた結果として、 自分が生きのびるために死に物狂いでスキルを獲得したのだと 言えはしないか。たとえ本人は死に物狂いだと思っていなくても、 それは生存のための無意識の行動だったのではないか。
このへんの、才能の残酷さを見事に描いているのが David Morrellの短篇 "Orange Is for Anguish, Blue for Insanity" だ。 (邦訳は「オレンジは苦悩、ブルーは狂気」---アンソロジー「ナイトフライヤー」収録)。 普通の超常現象を扱うホラーとして読んでも面白いが、 もしこれが創作の本質だと考えると、恐ろしい。
