Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Matzにっき(2005-08-30)
[go: Go Back, main page]

«前の日記(2005-08-29) 最新 次の日記(2005-08-31)» 編集

Matzにっき

<< 2005/08/ 1 1. OSCON 2005へ移動
2. 「ひろしまオープンソフトウェアコンソーシアム 設立プレイベント」 〜『キーマンが語るOSSビジネスの最前線』〜
3. 今日のハック
2 1. OSCON会場へ
2. IronPython 1.0: Python on the .NET Framework
3. Neko
4. RedRobin
5. 買いもの
6. Tuesday Evening Extravaganza
3 1. OSCON Wednesday
2. Perl 6 Update
3. Apocalypse Now! - Perl 6 Is Here Today
4. 聞き逃したセッションたち
5. FOSCON
4 1. OSCON Thursday
2. Yield to the Block: The Power of Blocks in Ruby
3. 英語で技術プレゼンテーション
4. 10 Things Every Java Programmer Should Know About Ruby
5. Designers' Lunch
6. A Starry Afternoon, a Sinking Symphony, and the Polo Champ Who Gave It All Up for No Reason Whatsoever
7. Skype
8. Reception
9. 最後に
10. 深夜テレビ
5 1. OSCON最終日
6 1. 名古屋着
2. ヒゲを剃る
7 1. 松江
8 1. UNIXUSER 10月号
9 1. 時差ボケ
10 1. 日経Linux 10月号
11 1. 日経Linux 10月号 (その2)
2. 島根県立図書館
3. 連続的な開発と非連続的な開発
12 1. Cipher
2. lambda記法
13 1. お手伝い
14 1. 松江
15 1. セミナリー
2. お盆休み
3. Xorg
16 1. 草刈り
2. マルチプレックスマン(上)(下)
3. The Harry Potter Theory of Programming Language Design
17 1. 図書館
2. チケット
18 1. UUゲラ
2. プレゼン資料
3. 八田真行のオープンソース考現学: Hear Me Talkin' To Ya
19 1. U-20プログラミングコンテスト審査会
20 1. 買いもの
2. 温泉
21 1. 松江
22 1. サヒメル
23 1. 「2005年度日本OSS貢献者賞」受賞
24 1. 『ポケットモンスター ミュウと波導の勇者 ルカリオ』
25 1. Phase Shifting
26 1. Get Things Done
2. OSCONレポート
27 1. ステーク大会 土曜の部
2. LLDN
28 1. ステーク大会 一般大会
29 1. U20プログラミングコンテスト最終審査会
2. Mrs.Martin
3. FEEDBRINGER
30 1. Beyond CL?
31 1. デジタルテレビに潜む危険と脆弱性
2. 国際線チケット購入
>>
Dr.Web 予測するアンチウイルス 販売開始一周年!
ユーザ・サーバ数が無制限のライセンスも低価格でご利用いただけます。

2005-08-30 [長年日記]

_ [言語] Beyond CL?

Paul Grahamが「新しいLisp」を作るのは大変だと語った話。

You don't have to be independently wealthy to make a new language. Larry Wall and Guido van Rossum and Matz weren't.
(「『新しいLisp』を作る人がたくさんいないのは 皆がPaul Grahamほど金持ちではないからだ」というコメントに対して) 新しい言語を作るために金持ちである必要はない。 Larry WallもGuido van RossumもMatzも金持ちじゃない。
The advantage they had over us in the Lisp world was that they started from a lower point. Larry Wall, for example, started out trying to make a better awk. That's not hard. Awk is missing a lot. Whereas we in the Lisp world are bumpimg up against the asymptote. Among other things, we can't avail ourselves of the one of the richest sources of features for new languages: taking stuff from Lisp. We have to invent genuinely new things. Things, moreover, that people like John McCarthy, Gerry Sussman, and Guy Steele didn't think of. That's not so easy.

彼らが新しい言語を作るのに成功したのは、「低いところ」から始めたせいだ。 たとえば、Larry Wallは「より良いawk」を作ろうとした。それはそんなに難しくない。 Awkには欠けたところがたくさんあるから。 ところが我々には新言語を作るときに使える一番上手い手が使えない。 それはLispから機能をとってくることだから。我々が 新しい言語を作ろうとしたら、まったく新しいものを発明しなくちゃならない。 John McCarthyやGerry SussmanやGuy Steeleが思い付かなかったようなものを。

それは簡単じゃない。

金持ちじゃなくて悪かったな(笑)。たしかにPaulの百分の一くらいしか資産はなさそうだ(泣)。

それは、ともかく、Lispは確かに機能の宝庫で、Rubyもたくさんのものを頂いた。 「Rubyの良さ」の多くはLispのおかげである。それは事実だ。

だけれど、世の中には「Lispが持ってないもの」もいっぱいあるはずなんだな。 それが見えないってのは、ある意味幸せなことかもしれない。

でも、言語デザイナーとしてのPaul Grahamの限界も意味してそうだ。

本日のツッコミ(全13件) [ツッコミを入れる]
_ Kiyoshi (2005-08-31 12:21)

■> Larry WallもGuido van RossumもMatzも金持ちじゃない。 ■英語の原文を見ると"weren't"と過去形になっています。だからここは、「Larry WallもGuido van RossumもMatzも、新言語を発表した当時は、金持ちではなかった。 」と訳すべきでは?
■>新しい言語を作るために金持ちである必要はない。■英語の原文を見ると、形容詞wealthyの前にindependentlyという副詞があります。では、"independently wealthy"とはどういう意味かというと、「会社勤めを辞めても食べていける」という意味だと思うのですが。『ジーニアス英和大辞典』で形容詞independentをひいたら、「<収入・資産などが>働かなくても楽に暮らせるだけの」と書いてあります。したがって、"You don't have to be independently wealthy to make a new language. "は「親譲りの遺産があるわけでもないのに新言語の開発なんかに手を染めたりしたら妻や子供が路頭に迷うのでは、などと心配する必要はない」と訳してもいいように思うのですが。

_ まつもと (2005-08-31 12:36)

「金持ちじゃない」−そのまま訳すとそうだと思います。ただし、私はみんな「金持ちじゃない」ことを直接知ってますから...

「心配する必要はない」−個人的には「心配ない」は強すぎると思います。おもちゃ言語ならともかく、Perl, Python, Ruby級の言語設計者は片手間ではいられませんし、みんなそれなりに苦労してますから。

というわけで、上記の訳は個人的な経験・知識による補間がかなり行われていますので、翻訳としては満点をもらえないかもしれません。

_ 村田拓哉 (2005-08-31 17:23)

「Lispが持ってないもの」というと、例えばなんですか?Grahamは「XMLは単にLispの焼き直しでしかない」といっていたのが印象的でした。私の理解では、関数型は十分抽象的で、手続き型もできるし、interpreterもcompilerすら自然(概念的な意味でね)にかける。

_ まつもと (2005-08-31 17:30)

それこそ、「かっこのない(すくない)文法」とか「快適なテキスト処理機能」とかではないかと。あるいは「UNIX文化」かもしれません。
本質的な「できること」の領域でまったく新しいものを作り出すのは大変かもしれませんが、言語ってのは「お化粧」の部分で大きく性格が変わったりするものです。

_ hyoshiok (2005-08-31 22:17)

言語設計論からいうとLispにないものを発見するのは不可能に近いというのは感覚的にわかります。まつもとさんの言う「お化粧」というのもわかるんですが、Grahamさんの「ぼやき」もよくわかります。
言語を作ることが「論文」にならないと思っている(思っていた)学者の先生はまさに、言語開発に新規性を見出すことの困難さを理解していて、その分野に手をださなかったのではないかと思ったりします。
わたしは学者じゃないので「論文」なんてくそくらえですし、「新規性」なんてものにもそれほど価値を見出してはいませんが、それでも「言語」に手を出すというのは大変なことだと思います。その勇気というのがすごいと思ったりします。

_ lispですか... (2005-09-01 00:31)

プログラミング言語はマシンを動かすための指示を書くためのもの。既存の言語でプログラムを書いていて不満に思う点がある時、使い勝手のよい新しい言語を設計したいという欲求が生まれる。その欲求がよほど強くないとやり遂げることが難しい。GrahamさんはLISPに満足しているからその欲求が弱いということでしょうか。無理して作らんでもいいのにと思いました。まつもとさんはよい意味で欲が強そうなので安心です(笑

_ AC (2005-09-01 08:14)

S式とマクロと、データとコードが一緒くたに見える、という前提を許容できるならLispが無敵だと思います。ある意味でチューリングマシン=アセンブラと競合する言語なので、比較自体が一筋縄で行かない気もしますが。

_ とおりすがり (2005-09-01 14:10)

逆に「低いところ」から始めるからこそ新言語は成功するんじゃないかと。
そのプロダクトに初めてさわる人に、「この言語はクロージャと継続とリフレクションとマクロを理解してから使え」と言われて使う気になる人はあんましいなさそうな。
それより「ああ、この面倒な処理をサクっと片づけたい」というごく「低いところ」から入るんじゃないでしょうか。

_ ると (2005-09-04 11:19)

XMLにあってLispに無いものは規格かと。
Lispはあれもできるこれもできるというが原理的にできるだけでちっともできやしない、という印象があります。

_ まつもと (2005-09-04 14:02)

るとさんへ、

それは誤解でしょう。30年前ならともかく、CommonLispはANSIにもなってますし、SchemeもRSR5とかあります(こっちは公的規格ではないですが)。また、Lispで記述された実用プログラムもたくさんありますから「原理的にできるだけでちっともできやしない」というのも当たらないと思います。メジャーでないのは事実ですが。

_ ると (2005-09-06 03:20)

すいません、あまり考えずに書いてしまって書き方が悪かったです。

「規格が無い」というのは「XMLは単にLispの焼き直しでしかない」というものに対するコメントで、例えばネームスペースであったり、拡張の仕方であったり、XSLTのような変換であったりといったものの規格であって、Lispそのものの規格ではありません。
ネームスペースも拡張も変換もCommonLispなりSchemeなりでできますし、XMLがLisp方面から持って来たとさえ言えますが、Lispではそういったものがはっきりと規格化されてなかったのがデータ記述言語としてXMLほど広まらなかった原因の1つだと考えています。

後半の「原理的にできるだけでちっともできやしない」というのは、新しい言語でこれができると言うとLispでもこうすれば実装できる、というのを良く聞きますが、それに対するもので、その機能を他の機能と整合性を保って実装するのが大切で難しいのであって、たとえLispで原理的に実装できるものであったとしても、ある機能を他の文法やセマンティクスやライブラリと整合性を保った形で実装したというだけでもそれは新しい言語の価値となると思ってのことです。
言語屋の中にはそういう視点での考えが不足している人が少なくないように思います。

その辺をLispもRubyもXMLも好きな人間として(自戒も込めて)言っておきたくて、あのようなコメントになりました。

_ まつもと (2005-09-07 23:24)

ちょ、ちょっと待ってください、るとさん。

上のエントリに「XMLは単にLispの焼き直しでしかない」なんて書いてありませんし、わたし自身は過去にもそのようなことを書いたことはないはずです。るとさんが「XMLは単なるLispの焼き直しではない」ということを主張したいのだということはわからないではないですが、XMLについて考えてもいないところに、いきなりそう来られても困ります。

ただ、「Lispではそういったものがはっきりと規格化されてなかったのがデータ記述言語としてXMLほど広まらなかった原因の1つ」というのは違うと思います。データ記述言語として使うかどうかは「使えるライブラリがあるかどうか」が最大の懸案で、規格があるかどうかはあまり関係しないと思います。

後半の「その機能を他の機能と整合性を保って実装するのが大切で難しい」については、「難しい」は同意しますが、本当に「大切」かどうかは自信がありません。また、それに続く、言語屋に多いという「そういう視点での考えが不足している人」というのはちょっとイメージできませんでした。もし、そういう人ばかりなら、こんなにたくさんの言語が氾濫していないと思うんですが。

_ 通りすがり (2005-09-08 00:09)

おそらく
http://www.rubyist.net/~matz/20050830.html#c04
この辺のことを指しているのでは。

お名前:
E-mail:
コメント:
本日のリンク元
アンテナ
検索


RSS feed meter for http://www.rubyist.net/~matz/ Creative Commons License This work is licensed under a Creative Commons License.