ただただしです。

#WalrusはまだGETしてもいませんが……

Taku Nakajima <tnakajima / brain-tokyo.jp> wrote:
>http://www.ogis-ri.co.jp/otc/hiroba/technical/MixJuice/
>で、"差分ベースモジュール"という手法が提示されています。この言葉はこの記
>事で知ったのですが、Walrusの実装で私はこれと似たようなことをRubyで行なっ
>ています。

 私もこの記事に興味を持って、先ほど論文を読み終えたところです。Ruby屋さ
んはけっこう無意識に似たようなことをやっているのではないでしょうか。なに
せ、既存のクラスに好きなだけメソッドを追加できますし。

 Rubyで言語拡張なしに差分モジュールをやろうとすると、module間の情報隠蔽
ができないですよね。これはマイナス?

 あと、MixJuiceのoriginal()相当がないので、メソッドのoverrideをする場合
は工夫が必要かと。aliasを使ったフレームワークが必要だろうか。名前衝突も
回避のためにはきちんとフレームワークを作らないとダメか。

 一方、MixJuiceで気持ちが悪いなぁと感じた「補完モジュール」は、Rubyなら
method_missingでスマートに解決できるかも知れないと思いました。MixJuiceの
補完モジュールは心理的に受け入れがたいです(^^;

>ただ、ひとつのクラスが複数のクラスに分割されているというのは、気分的に落
>着かないものです。特に、名前の衝突が問題になります。

 私も可読性の低下が気になりました。論文ではクラスの継承による問題と同じ
もので、ツールによって解決すべきものだ書いてあるので、そんなものかなぁ、
とも思いますが。

……というわけで、私見だけで質問には答えていませんが:-)


■■ Don't Think, Buuuuy. ■■
■  た   だ   た   だ   し  ■
■http://www.spc.gr.jp/sho/