Re^2: Cyanインタビューはようするに

http://d.hatena.ne.jp/wasisan/20090124/p2
いつもご愛読ありがとうございます(^^

コメント欄だと長くなりすぎたので、トラバで。コメントまで引用してしまってすみません。

それにしても、“あのような”プログラミング言語を高校生が設計したということについて、これを侮辱だと受け取る人が少ないということの方がむしろ私には驚きです。例えば、代わりにこれが「建築物の設計図」で、これを高校生が作ってきましたとかだったら、普通見向きもされないと思うのですが。

あと、既存の大人が作ったプログラミング言語ですらパクリ・危険な言語は日常茶飯事ですし。高校生だとしたら許容されるのは尚更のことでしたね。

しかし、建築家にしてみても、“有名建築から色々な要素を表面的に・安易に、盗んで”きて、しかも、“使用時の危険性をまったく認識していない”、ものだとさすがにイラつく・批判したくなることだと思うのですが。

高校生が考えたということとか、危険性は常に悪いことだという先入観とか、捨てて考えたほうがいいと思いますよ。で、あえて取り上げるときは、いったん頭をリセットしてかからないと損します。

せっかくいいところに着目してたり、自分の思想があったとしても、ほんとに言いたい本題と関係のない要素まで連鎖的に否定してしまうと、議論したいことの焦点がずれてしまいます。その結果、自分の意見の値打ちを下げてしまうことになっちゃいます。

ある事柄についての反対意見は、たしかに貴重な情報です。たとえば、技術ほげアンチな人のブログは、より上手く技術ほげを使うのに役立ちますね。肯定ばかりだと、商品パンフレットのようになってしまう。

ところが逆に、無駄に暴言が多いと、「あ〜この人はただアンチなだけだな」と思われてしまい、本当に言いたい真実すら無視されてしまいかねません。(自分も注意しなきゃ)

ところで、

ですが、言語処理系(とくにスクリプト言語みたいなLisp系逐次言語)って、もうかなり成熟した分野に思えます。

Lispは成熟している」というのは、実は錯覚じゃないかと思います。Lispというガラパゴス諸島(S式の世界)は、構文だけ見れば、60年代から何も変わっていません。それって、進化の結果枯れたのとは違うと思います。前置記法と括弧さえ身につけば、ランタイムのしくみと構文の対応が美しすぎるから、誰もそれに疑問を抱かない。たしかにそれは、とても優れた天性の特徴です。

でも、個人が熟練すればするほど気にならなくなる前置記法と括弧こそ、実はLispの進化にとって最大の問題で、まだ誰も、真っ向からそれに対峙しなかった。多くの言語はSchemeの美味しいとこ取りだけして、構造化構文に戻っていったし、逆に、いったんLispに染まった人の考える言語は、みんなLisp方言になってしまうそうです。JavaScriptになるかArcになるか。

という意味で、「S式と真っ向勝負して、

をすべて持つデザインを成立させた」というのは、私の知る限りでは前人未到の発明でした。新規の発明じゃなくて、コラージュのデザインって意味で、誰もできないと思い込んでいた。

これは、Lispを仕事で使ってハマってしまう前段階の、それこそ「プログラム経験が浅い」人の頭でないと考えられないことだったと思うわけです。その意味で、超高速学習速度の高校生が作ったのは、むしろ「ああなるほど」と感じました。

そうそう、「Object(SymbolとかBlockとかの親)にevalがある」モデルを見た時の解釈として、自分のついったー引用ですが、

そうか、Cyanはプログラム言語を対象としたプログラム言語なんだ。ユーザ用のオブジェクトと構文用のオブジェクトに境界がないのは、「構文を扱う人(つまり本人)が対象ユーザだから」じゃないか?

と書いておきます。

Cyanは「自身の言語構文を扱うためのオブジェクト指向を持った言語」だというのが、私なりの解釈です。「CyanはCyanを書くための言語です」って感じね。悪い言い方でいえば、天才的オナニー言語(w

この、一般的な用途を何一つ思いつかないところが、逆に一番面白いところだと思うんだけど、おかしいかなぁ?

---- あ、言及したくなければ、Re^3:書いてもらわなくてもOKです。書きたくて書いただけなので(^^