history

青木日記 RSS

<前の日 | この月 | 次の日>

2002-09-02

言語の力

arton さんネタふりどうもです (^^;;; (ところで「ネタ」って「RHG のネタ」ということですか?) とりあえず参考 URL を再掲。

「引数 n を累積加算する関数を返す関数を書け」かあ。 Shiro さん紹介のページの例によると Ruby の例はこうらしい。

def foo (n)
  lambda {|i| n += i } end

……endを文の後ろに書くのはやめてほしいと思ったのはぼくだけですか? Lisp が好きなのはわかるけどなぁ、「郷に入れば郷に従え」という 言葉を知らないのかっ。あ、そりゃ知らないか (日本語使えないだろうからね)。

Ruby の Proc を Lisp と同じような意味での「関数」と言って いいのかどうかも考慮の余地がある。呼ぶときに call いるし。

というかそもそもこの問題はそもそも卑怯だよなあ。 Lisp がうまく当てはまる問題を出してるようにしか見えないんだけど。 (そういう反論の反論があるのも見たけど、それでもやっぱりそう思う。) なんで accumulator なのか全然理由が書いてないじゃん。

Succinctness is Power (簡潔さこそ力)」のほうも納得できねえ。 特に一番納得できないのは

苦労の合計 = 各行を読む苦労×行数

この等式には全く、全然、少しも、まるで、微塵も、小指の爪の先ほども、 納得できない。証明するにはおれが RHG 書いてる過程を見るだけでいいでしょ。 ある一行は一瞬眺めただけで通りすぎるけど、別の一行は一日かかることもある。 どんな言語で書こうと、どんなにうまく書いても、各行の難しさは絶対に 均一にならないね。

RC2002

[ruby-talk:48813] RubyConference 2002 のアナウンス。 11/1 から三日間、シアトルでやるらしい。

ぼくは今年はどう見ても無理です。 そのころってちょうど某書の締切だし、なにより金がないです。 なんたっていまの全財産マイナス 6 万円ですから。

誰かシアトルに殴り込みをかける強者はいない?

本日のツッコミ(全7件) [ツッコミを入れる]
たむら (2002-09-03 09:50)

工数計算みたいで大嫌い>各行を読む苦労×行数
「各行の難しさは絶対に 均一にならない」プログラム言語だけに関わらずですよね。(行で言うなら)それぞれに違った役割があるわけだし。

matz (2002-09-03 10:23)

シアトルでも原稿は書けるし、お金はなんとでもできると思うよ。
実際去年はフロリダでRuby in a Nutshellのゲラ直してました。

Shiro (2002-09-03 10:48)

まあ、flameを始めるつもりはないんですが、ちょっと誤解が
あるかなと思ったので。
- 例のページのrubyのコードを書いたのはPaul GrahamではなくてStephan Schmidtという方なんですが(ページの下方に書いてあります)、彼はLisperなのかな。RAAにプロジェクト登録しているみたいだけど。
- 例の式は半分ジョークで、冗長な言語の見掛けの易しさを皮肉っているだけだと思いますよ。だいいち「行」という単位にあまり意味が無いことは同文章中に書いてあるし。

さく (2002-09-03 13:35)

"郷に入っては郷に従え" は、ラテン語で "cum fueris Romae, Romano vivito more, cum fueris alibi, vivito sicut ibi." (ローマにいるときはローマ人のように暮らせ、他の土地ではそこに住む人のやり方で暮らせ)、前半を英訳して "When in Rome, do as the Romans do." というのもあります。

さく (2002-09-03 13:39)

単なるかけ算ではなく、Σで苦労の総和を求めていたら納得しますか?(笑)

たむら (2002-09-03 14:53)

リンク先を読んでみると「各行を読む苦労×行数」は、Basic言語に対してと読めますね。(読んでからツッコメよ)だったら、少し納得。
「苦労の総和」というのは、やはり行数とは比例しないと思われ(するかな?)

kjana (2002-09-03 17:35)

抽象度の高い記述の方が抽象度の低い記述の羅列よりも
意味をとりやすいという話はあるんじゃないかと.プロ
グラムの意味を考える時に逐一低レベルな操作を並べる
より,問題を記述した方がわかりやすいように.

そういう意味でプログラムの読みにくさは行数に比例し
ないどころか各行の読みにくさの総和ですらなく,もっ
と指数関数的だか幾何級数的だか,ずっとオーダーが大
きいのではないかっていう気がする.

# なんか同意にも反論にもなってない変なことを書いて
# いる気もする :-P

名前
メールアドレス

<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|

Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved. LIRS