Mooseを使えるか使えないかもケースバイケース

個人的にはMooseはもっと使われていいんじゃないかなぁと思っていて、dmakiさんが書かれている利点も十分理解しているつもりです。だから日記でも取り上げてきたわけで、dmakiさんが参照されている他の日記の方とはスタンスは違うと思います。
http://mt.endeworks.jp/d-6/2008/08/moose-is-a-revolution.html

それはさておき、一応、補足しておくと、自分がエントリを書いたのは、tomyheroさんがMoose使って外された!と書いていたからで、実際に使えるか使えないかはその人の置かれた環境にも依存するし、それも分らなくはないなぁということが書きたかっただけなんですよね。すべてはケースバイケースなんじゃないかなと。
http://d.hatena.ne.jp/tomyhero/20080814

例えば、

  • 自社でサーバーの標準環境用意して、入れるCPANモジュールもあらかじめ決まっている。複数の異なるプロジェクトで、同じサーバー環境を用意して使う必要がある。
  • distribution用のパッケージも作っていて、モジュール管理するために依存モジュールも極力減らしたい。
  • プロセスのサイズ小さくするためになるべく依存するモジュールを極力減らしたい
  • PerlのOO用に使うモジュールは決まっている。
  • 1つのシステムで、異なるOOの書き方を混在させたくない
  • 他の大きなところで使われて実績ができるまで待ちたい

と、まあ色々と使えない理由はありえるんじゃないかなと。

そういう環境があっても不思議ではないし、慎重になる人がいても不思議ではないかなと。また、そういった環境の人がいることも考慮して、Mooseなしでモジュールをリリースする人がいるのも気持はわかるなぁと。

ここまで書くと話が伝わりやすくなるじゃないかと思うんですが、「既存のシステムに加えられない」の意味は、dmakiさんが書いている技術的に加えられるか否かという意味とは全然違うんですよね。

それと、既存のシステムに加えられない、というのものナンセンスだ。Mooseは上記にもちょっと書いた深い継承関係とか、そういう実装的な依存のある Catalystのようなシステムに直接放り込む事はできないが、シンプルな拡張等にはClass::Accessorベースのシステムでもシームレスに使える。

# 最後にも書いておくと、Mooseいいよ!って個人的には思ってます。