Home > Latest topics

Latest topics > 全ての言語はLispに向かう?

宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

全ての言語はLispに向かう? - Nov 26, 2006

これは物事をよく分かってない文系人間の戯言ですよ。

最も古くからあるプログラミング言語の一つとして知られていて、熱狂的なファンが多くて、数学とかそっち方面で「頭が良い」人でないと使いこなせないという印象がある、Lispなんだけど。3つめのエントリに書かれていた「Lispは構文木を直接読み書きしているのと同じ」という表現でなんとなくピンと来たかも知れない。

構文木とは、プログラム(ロジック、アルゴリズム)がコンピュータに理解可能な形に翻訳される中で生まれる、最も抽象度の高い状態だと思う。その状態においてそのロジックに何ができるのか、どんな事が可能になるのか、あらゆる可能性が内包されている物が、Lispなのではないか。「こういう機能を持たせよう」と意識して言語仕様が作られたのではなく、抽象度を極限まで高めようとした結果、必然的にそれらの仕様がもたらされて「しまった」のではないか。最も低級な言語であるマシン語の世界において、バイナリ書き換えなどの「テクニック」が誰によって「実装」されるまでもなくごく当然に起こりうる事象の一つであるのと、同じように。

でも抽象度が高すぎて、数学的な天才以外にはなかなか理解できない。だからもっと人間寄りで具体的な仕様の、高級言語が必要とされた。

でもその過程で、多くの物が失われた。具体化するということは、抽象的でなくするということは、抽象的な状態が持つ無限の「可能性」を少しずつ制限して、できることの幅を狭めていくということ。何もルールのない無法地帯に、歩くための道筋を作って、ひいては「道ではない場所を歩けなくする」ということ。

そんな言語に「新しい機能」が加わるというのは、今まで道ではなかった場所に新しい道を造ること。それに対してLispは、どこにも道がない、好きなところをいつでも誰でも自由に歩ける大平原のようなもの。道路である場所の面積が広くなるということは、自然と、その道路がある土地の好きなところをいつでも誰でも自由に歩ける状態に近づいていくということ。言語が機能拡張されていくことを「全ての言語がLispに向かっている」と表現するのは、「大平原=Lisp」と考えてこの事象を捉えた場合には、実にしっくりくる表現なのだろう。

でも、なんというか、それをして「全ての言語はLispに向かう」と表現するのは何とも傲慢な言い方というかLisp中心主義的すぎるという気もするんだ。

上で、「Lispは大平原」と書いた。でもそれは実は嘘だ。実際には、Lispはロジックとアルゴリズムという大平原そのものではなく、それを覆い尽くすくらいに巨大な一つの舗装道路に過ぎない。Lispという道路と、それが設置されている大平原とは、イコールではない。大草原を自由に歩き回りたくて道を拡張していくと、自然とその道の面積は広くなり、Lispに近づいていくと言える。でも、Lispになることを目指してそうしている訳じゃあない。草原を歩き回ることを目指してそうした結果、たまたまLispに似てきてしまっただけのことだ。

さらに言えば、Lispが大平原を覆う道路だったとしても、その道路の上を歩いている限りは空中を散歩することはできない。空中も含めて自由に行き来できるような手段、「空中を歩ける新しい道路」が設置されたとしたら、それは確かに「Lispを超えた」と言えるけれども、それは「Lispを超えること」を目的としてそういう道路が造られたのではなく、あくまで、より自由に移動できるようになるという大きな目標に向かう過程でそういうものが生まれただけに過ぎなくて、その観点から言えば、Lispという二次元平面の道路なんてものはただの通過点に過ぎない。

そういう風に考えるから僕は、「全ての言語はLispに向かう」という言い方には、Lispを中心に世界が動いているとでも言いたいのか、という感じの反発を覚えてしまうんだな。

ということを、何故Operaのこの機能をFirefoxがパクらないんだ、という書き方を見ていてちょっと思った。

分類:出来事・雑感, , , 時刻:07:53 | Comments/Trackbacks (3) | Edit

Comments/Trackbacks

Re: 全ての言語はLispに向かう?

単に Lisp 系で過去30年間色々やってきたことを他言語が今やっているってことを言っているだけだと思う。

Opera : lisp / Firefox : 他の言語と例えてるとしたら逆じゃないかな。
Opera : Common Lisp / Firefox : scheme とかならまぁわかる (Moz 系は scheme ほど"正しい"にはこだわらなくなってるけど)

Commented by mal at 2006/11/27 (Mon) 12:07:58

Re: 全ての言語はLispに向かう?

http://tabesugi.net/memo/2004/92.html#150242
たまたま今日読んで爆笑。色々鬱屈がたまってるマイノリティの極端な物言いと云うほうが正解か。

Commented by mal at 2006/11/28 (Tue) 02:50:40

no title

うーむ、不毛だ……>ご紹介いただいたページ

Commented by Piro at 2006/11/28 (Tue) 11:41:19

TrackBack ping me at


の末尾に2020年11月30日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「2006-11-26_lisp.trackbacknoda」です。これは機械的なトラックバックスパムを防止するための措置です。

Post a comment

writeback message: Ready to post a comment.

2020年11月30日時点の日本の首相のファミリーネーム(ひらがなで回答)

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のコメント

最近のつぶやき