In article <000001c1b0c1$04eca980$b7d08bcb@soteccomputer>,
  "jihg" <jihg / ma.akari.ne.jp> writes:

> 言語の問題と人間の問題がまざってる。
> 
> * 言語エンジン(インタプリタやコンパイラ)は、プログラムが正しい構文で
> 記述されていることを要求する。
> 
> * プログラマは、プログラムが期待通りに動作することを望む。
> 
> 今問題にしているのは後者。だから、記述的に問題のある部分を警告するツール
> を作ればいい。Ruby 本体を変える必要はない。

もし、プログラマの期待をうまく認識することができるなら、その期待に従っ
て動けばいい、というのが Ruby の選んだやりかただと理解しています。つま
り、プログラマの期待通りに動くのでプログラマは驚かない、ということを目
指しているわけで、これは
  The Principle of Least Surprise
  http://www.ruby-lang.org/en/jaoo2001/mgp00031.html
に示されています。

そして、
  Pseudo-Simplicity(擬似単純性)
  http://www.ruby-lang.org/en/jaoo2001/mgp00030.html
  http://www.ruby-lang.org/ja/lc2001/mgp00015.html
にあるように、プログラマを驚かせないためなら規則が複雑になろうが構わな
い、ということも示されています。

で、空行というのはテキストを記述する時に段落わけに使われるというように
なんらかの構造を示すものですし、実際、TeX や RD ではそれを認識してうま
く動くわけです。もし、同様に人間がプログラムに空行を入れる時に期待する
意味をうまく汲み取れるのなら、プログラマを驚かせないよう、その期待に沿っ
た形で動くというのが Ruby のやりかたでしょう。

ただ、もちろんこれは「期待する意味をうまく汲み取れるのなら」という条件
つきなわけで、今回、仮にその意味を文の終わりと推測してみたけれども、プ
ログラマの期待はそれではないことが多々ありそうなのでやめた、ということ
なのでしょう。もし、プログラマの期待をより正確に示す規則が見つかれば何
かが変化することもあるのではないかと思います。

# というのは私の理解しているところの今回のストーリーであって、まつもと
# さんの意図とは違う可能性も多々あります。
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)