Mooseを使うべき理由

  • メタプログラミングが簡単にできる
  • Mixinベースの機能拡張ができる(多重継承よりbetter)
  • OOが素直にできる(blessやらfuck)
  • インターフェースによる実装の制約を実現できる
  • 型による固いプログラミングができる

などなどと色々と理由を書きたいところではありますが、自分にとっては、jrockway, mst, stevanをはじめ、面白そうな人が勢揃いしていて、Perlの勉強になるからというのが一番の大きな理由だったりします。Plaggerで学んだCPANモジュールの使い方とはまた違った側面でPerlの勉強ができます。少しレイヤ的には違うところですが、今の自分には勉強になるところが多いですね。

人それぞれ使いたい理由は違うとは思うのですが、Class::Accessor::Fast, Class::Data::Inheritableなどを捨てられる環境にあるのであれば、Mooseは悪くない選択肢だと思います。シンタクスシュガーが増えるので気持ちが悪いと思う人もいるとは思うんですが、Perlの言語仕様の不足しているところを必要最小限追加しているだけなので、それほど気になるものではないかなとは思ってます。

特に、これからフレームワークを作ろうと思っている人には、色々と恩恵を受けられる機能があるので、Mooseはおすすめなんじゃないかと思います。