オブジェクト指向らぶらぶのまつもと ゆきひろです

In message "[ruby-list:6281] Re: I'd like to subscribe this ML"
    on 98/02/05, INOUE Katsuyuki <inoue / pps.sdl.melco.co.jp> writes:

|井上勝行です。
|
|オブジェクト指向を勉強し始めてから,けっこう経つのですが,OOP 言語の理
|想的なモデルについて,自分なりの考えをまとめるには,全然到りません。

|通なワケはないですが,上のような原体験があるもので,Ruby (キャピタライ
|ズすることになったのでしょうか?)の言語理論的な背景に興味を惹かれます。

TRY!PC 11月号の「Perl & ruby」って表紙がすっごくかっこわるかっ
たので(^^;;;),他の言語と混ぜる時にはRubyって表記した方が良
いと思うようになりました.固有名詞は大文字に決まってるって伴
侶に指摘されたせいもありますが.^^;;;

# だって小文字の方が打ちやすいんだもん.

|「言語理論的な背景」とは,硬すぎるいい方ですが,うまく表現できません。
|メジャーな言語機能を組み合わせて Ruby ができていると理解しているのです
|が,その選択基準は何だったのか,その組み合わせはどういった問題に適する
|のか,といったようなことです。

rubyの言語仕様における言語機能の選択基準と言うことに関して言
うと,実はあんまり難しいことは考えてないですねえ.あえていえ
ば「使いやすい」でしょうか.某MLではこの言葉でえらく嫌われま
したが(^^;;;),言語の使いやすさってのはバランスで決まると思
うんで,書きやすい,読みやすい,メンテしやすい etc. のバラン
スを考えて選択したってのはあります.

# 過去の判断のうち誤りがあるものもあります.^^;;;

これはどーしても譲れないってのは継承くらいでしょうか.
fj.comp.oopsで前田さんが代弁してくれましたけど,私の主張は

  * 多重継承は理解を阻害するほど複雑になりやすい
  * 実装の継承は単一では使いにくい
  * じゃあ,Mix-inだ

というものです.rubyは実際には多重継承とまったく同じ処理をし
ているのですが(ほんの少しの変更で多重継承のある言語に出来る),
このポリシーのために単一継承のみになっています.

# ところで私のポストは外に出て行ってないような気がします.も
# うすぐ fj.lang.ruby(fj.comp.lang.ruby)が出来るというのに.
# 記事もぼろぼろ欠けてるし

あと,特異メソッドもあるか.これは

  * CLOSにもSelfにもあるんで欲しかった
  * たとえばGUIのボタンにactionとしての特異メソッドを定義す
    るなんて使い方ができるかなって思った

のが理由です.実際(まだバギーですが)Ruby/Gtkでは特異メソッド
でアクションを定義できます.

|C++ や Java では,そのあたりが表明されていますよね?

そうなのかなあ.まあ,それはともかくrubyにもそれなりにポリシー
はあるので(そのはず ^^;;;),なにか知りたいことがあったら,気
軽に質問して下さい.

|Ruby 本に期待しています。

頑張って書かなきゃ.風邪が….ごほごほ(笑)

                                まつもと ゆきひろ /:|)