From: jihg Date: 2002-02-09T23:56:47+09:00 Subject: [ruby-list:33831] Re: 右辺の値なしでも実行可能? > Pseudo-Simplicity(擬似単純性) > http://www.ruby-lang.org/en/jaoo2001/mgp00030.html > http://www.ruby-lang.org/ja/lc2001/mgp00015.html >にあるように、プログラマを驚かせないためなら規則が複雑になろうが構わな >い、ということも示されています。 > >で、空行というのはテキストを記述する時に段落わけに使われるというように >なんらかの構造を示すものですし、実際、TeX や RD ではそれを認識してうま >く動くわけです。もし、同様に人間がプログラムに空行を入れる時に期待する >意味をうまく汲み取れるのなら、プログラマを驚かせないよう、その期待に 沿っ >た形で動くというのが Ruby のやりかたでしょう。 > >ただ、もちろんこれは「期待する意味をうまく汲み取れるのなら」という条件 >つきなわけで、今回、仮にその意味を文の終わりと推測してみたけれども、プ >ログラマの期待はそれではないことが多々ありそうなのでやめた、ということ >なのでしょう。もし、プログラマの期待をより正確に示す規則が見つかれば何 >かが変化することもあるのではないかと思います。 * すでに一般的なコーディングスタイルがあって、プログラマは常にそれに従う ことで恩恵を受けるなら、言語に取り込むべき。 と解釈すればいいのかな。反対はしない。僕は複雑化するのを嫌ってるだけ。 注意が至らないばかりに誤解を生んでしまったところがあるので、ちょっと補 足。 Ruby は何もしなくてよい、ということではなくて、 * Ruby に組み込むべきか * Ruby の上で検査すべきか の”選択”で、かつ * ある問題に対し、作成者に不可避な制約を課すのか、可避な制約を課すのか。 * それらを分ける基準および境界はなにか。 ってことだったんだ。悪文のため 田中さんに気を使わせてしまった。この場を 借りてお詫びしたい。 閑話休題。 この議論の始まりは「空行を挟んだ代入は文法的に正しいか」だった。それが 「空行を文末としないのはなぜか」、そして、「空行を文末とみなすべき」に変 わっていった。 「空行を文末とみなすべき」という意見は、今回は見合わせるということになっ たわけだけど、空行を挟んだ代入の問題が無くなったわけではない。 この議論ではいきなり「Ruby に組み込むべき」となって、斎藤さん ([ruby-list:33796] )の >言語仕様としてエラーや警告を出すよりは、別途に文法を検査するツールがあ >る方が良いような気はします。 や、同じく斎藤さん([ruby-list:33810])の >> 悪いコードは自然と減っていく仕組みがないといけない思います。 > >ただ、この仕組みをRuby本体に求めるのはどうかな?と思います。C言語で も、 >文法や書き方を検査するツールとして"lint"がありますよね?Rubyにおいて も、 >言語本体に実装する機能ではないように感じます。 > >> 動作しないときに、この融通の利かない言語め!と怒るより、受ける恩恵の >> 大きい方が我慢できると思います。 > >ちょっと話題が違うかも知れませんが、教育や開発中の間違い検出は確かに便 >利ですし、あれば良いと思います。が、修得後や開発・試験終了後には不要に >なるものでもありますよね。という理由からも、やっぱり実装するなら別の ツー >ルがいいな、という意見です。 は、ないがしろにされた。 順番としては、検査ツールを先に議論したほうがいい。検証ツールで成果を得て から、(有用なら) Ruby に組み込めばいい。 まず無害なことから試してみるべきだ。作成者の自由選択によって検証できるよ うに。 僕は斎藤さんと同意見。別に検査ツールがあったほうがいい。 で、[ruby-list:33824] の文末に エセ 検査ツールを付けた。