Mooseを使うべきか使わざるべきかそれが問題だ

Mooseがいいと思っているひとは多くても実際問題使えないっていうことのほうが多いと思う。実システムが違うモジュールベースで作られてて安定稼働してたら実際問題かえられないと。

ただ、Runtimeでの実行速度に他のモジュールと差がないわけで、綺麗なコードがかけるほうに時代は確実に移っていくと思います。

実システムで使えないのは、モジュールが使いやすいかうんぬんよりも、もっと違う要因があるからなんだと思う。特に、既に自社のフレームワークにロックインしてるところとかは置き換えにくいだろうなと。

例えば、モジュールを評価する際にも、

  • 依存モジュールが増えることに対するCPANモジュールの管理コスト
  • 依存モジュールが増える事に対するメモリ使用量
  • 綺麗にかけるようになる事に対するメンテナンスコスト
  • 既存のOOモジュールのリプレースのコスト

などの点については、バランスをとって評価をする訳で、それが現在の環境にあわなければ使えないわけですよね。

ただ、思うに仮に今の段階でMooseを導入するのが早いって話があっても、それは今だけの問題かもしれないかなと。Catalystも5.8系はMooseベースになるわけで、時間は少しかかると思いますが、少しずつ変わっていくでしょうね。確実に綺麗にかける方向に移っていくんじゃないかと思います。

CatalystSledgeの問題も同じなんですが、長く安定運用させてる環境があると少し綺麗にかけるとか構造が綺麗だとか言うのは、どうでもよくなってしまうというのはあるとは思います。