«前の日記(2006-03-31) 最新 次の日記(2006-04-02)» 編集

Matzにっき

迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2006-04-01 [長年日記]

_ [言語] Perlish Magazine 20060401 号

通称「ぱるま」。どこかで見たようなスタイルのどこかで見たようなWeb雑誌。 Rubyネタではないが、大変役に立つ情報満載なので。 「Perlishのための他言語探訪」という記事ではRubyについて紹介されてます。 しかし、

Ruby は 1993 年に Yukihiro Matsumoto (通称 Matz) によって開発されたと言われています。しかし、この 1993 年版の Ruby を見た人はほとんどいませんから、本当にそんなものが存在していたのか怪しいものです。聞けば Matz 自身もこの当時のソースコードを持っていないそうです。実際に Ruby が人目にふれたのは 1995 年 12 月、fj.sources に投稿されたものです。ですから、実際には Ruby はやっと 10 年すぎたところと呼ぶべきではないでしょうか。10 年生き延びてやっと一人前というプログラミング言語の世界では Ruby なぞまだまだ経験の足りないひよっこです。その点、我らが Perl は 1987 年 12 月公開ですから、もうすぐ 20 年選手。経験と資産の蓄積がものを言います。

とは大変失礼なことだ、ぷんぷん。

本日のツッコミ(全13件) [ツッコミを入れる]
_ ひろのぶ (2006-04-01 15:35)

「経験と資産の蓄積がものを言います」じゃ、彼らの最初の選択肢はCOBOLのはずだ。なんでPerlなんか使うんだろう:-P

_ (2006-04-01 16:01)

「馬齢を重ねる」なんて言葉もあるんだけどなぁ... 挑発的な割には思慮の足りない言説は見苦しいものです。

_ cut-sea (2006-04-01 18:12)

4/1 :-)

_ みきや (2006-04-03 07:54)

今年の4/1ネタで一番面白かったです。さすがにゆとりがありますね。

_ とおりすがり (2006-04-03 22:25)

ちょっと関係ない話で恐縮ですが、気になったもんで。<br>まつもとゆきひろのプログラミング言語論(2)で<br>>さて,ここでログの出力先をファイルではなく,メモリー中のバッファに出力したくなったらどうしたらよいでしょうか。出力先を指定する引数outは ostreamであると決まっているので,簡単には変更できません。結局は,log_puts()手続き全体をコピーして文字列を出力対象にする別の手続きを用意するか,1次ファイルに出力しておいて,文字列に読み込み直すかしかありません。<br>とかかれていますがstrstreamの存在をお忘れでしょうか?(JavaにもStringWriterがあります)。他の言語をけなす場合は少なくとももうちょっと公平にしてもらいたいものだと思うのですが。

_ とおりすがり (2006-04-03 22:35)

自分の考える動的型言語の一番の問題点は、<br>log_puts(out, msg)<br>ここのoutに何を入れられるのか、何を入れたらいいのか簡単に調べる方法がないという点です。<br>ドキュメント?ドキュメント書くぐらいなら、型名書くほうがコンパイラやIDEの支援を受けられるからいいと思うのですが。<br>ソースコードを読む?まあそのメソッドを書いたのが自分であれば、それでもいいでしょうけどそのメソッドが他人によってかかれていたり、数年前の自分が書いていたりするとたいへんじゃないですか?

_ まつもと (2006-04-03 23:49)

strstreamについては見落としてました。素直にすいません。<br>ただ、例が悪かったとは言え、件の文章の本質は「静的型ではシステムがstrstreamのようなものを用意してくれていなければ柔軟に対応できない」ということだったので、その辺を見ていただければと思います。<br><br>outに何が入れられるかについては、動的言語ではそのオブジェクトにどのようなメソッドを適用しているかで決まると思います。ですから、動的言語を支援する将来のIDEではメソッドを解析することでその情報を抽出して、「outにはこのようなオブジェクトを適用できるよ」と教えてくれるのではないでしょうか。

_ _ (2006-04-04 06:19)

C++だとふつーはtemplate<class OIT, class Message> log_puts(OIT out, Message message);という感じになるので"strstreamのようなものを用意"する必要さえありません :-p

_ まつもと (2006-04-04 06:30)

おお、template programmingですね。C++は奥が深い。<br>私はtemplateが広く使われる前にC++を止めてしまったので。<br>もうちょっと勉強しなおそう。

_ ~ (2006-04-04 13:53)

実行時に動的にメソッドが増えたり減ったりする言語では、<br><br>> 動的言語を支援する将来のIDEではメソッドを解析することで<br>> その情報を抽出して、「outにはこのようなオブジェクトを適<br>> 用できるよ」と教えてくれるのではないでしょうか。<br><br>これも難しいでしょう。デバッグとかログの出力をきめ細かくするくらいしか対処がないかもしれないですね。

_ まつもと (2006-04-04 14:06)

言語処理系は100%の精度が求められますが、IDEなら助けになればいいわけですから、できない(わからない)ことがあってもよいんじゃないですかねぇ。甘いかな。

_ たなべ (2006-04-04 17:44)

> 自分の考える動的型言語の一番の問題点は、 <br>> log_puts(out, msg) <br>>ここのoutに何を入れられるのか、<br>>何を入れたらいいのか簡単に調べる方法がないという点です。<br><br>そのメソッドの機能は、どのように知り得るのでしょうか。<br>そこに何を入れたらいいかは、機能説明の伝達手段にあわせてみたらどうでしょうか。<br>ただ、その伝達手段が何なのかは、具体的には言えませんが、これは静的、動的にかかわらず共通の問題の気がします。

_ (2006-04-05 15:53)

ヤヴァすぎです。<br>http://seibun.nosv.org/?p=Ruby<br>関連Entry:<br>http://blog.livedoor.jp/dankogai/archives/50443952.html

お名前:
E-mail:
コメント:
[]

«前の日記(2006-03-31) 最新 次の日記(2006-04-02)» 編集

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