From: matz@... (Yukihiro Matsumoto) Date: 1998-02-06T15:00:05+09:00 Subject: [ruby-list:6313] ruby's design policy (Re: I'd like to subscribe this ML) オブジェクト指向らぶらぶのまつもと ゆきひろです In message "[ruby-list:6281] Re: I'd like to subscribe this ML" on 98/02/05, INOUE Katsuyuki 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 本に期待しています。 頑張って書かなきゃ.風邪が….ごほごほ(笑) まつもと ゆきひろ /:|)