tokuhirom's Blog

Module::Build と EU::MM と M::I と dzil にかんする雑感(miscellaneous thoughts)

僕は歴史家じゃないので、今自分がもってる感想をメモしておく

Module::Build

Module::Build の目標は make の排除だとおもうのだが、現実的には、EU::MM に依存している場合には make が必要だし、ある人のモジュールだけが make なしではいるようになってもとくにうれしくはない。
つまり、移行するメリットが薄い。よって、流行らなかったのだとおもう。

おぼえることがふえるのやだし。

EU::MM

EU::MM はもはや積極的に開発はされないようだが、普通に使う分にはもんだいないし、メンテナンスはされてる。

単純な pure perl のモジュールなら、これをそのままつかっても問題はない。
ただし、ちょっとこった実行時の処理などをやろうとすると、よみづらい Makefile.PL ができあがる傾向があるようにおもう。

M::I

クールなインターフェースを提供してくれる。プラガブルで拡張可能だ。

日本では、Plagger で M::I が採用されたことを契機に、一気にひろまったようにおもう。

欠点としては、

  • M::I をあらかじめインストールしておかないと開発できないこと
  • M::I のコードがよみづらいこと
  • M::I のメンテナが事実上いないこと
    • これについては、最近 charsbar さんががんばっているもより
  • マニアックな関数がまともにうごかないこと
  • Module::AutoInstall をつかってはいけないこと
    • 【追記】つかっちゃいけないわけじゃなくて、古いバージョンがくさてるので、つかっちゃいけなかった。

とかいろいろあるけど、それでもクールなインターフェースなことにかわりがない。

dzil

よけいなものができないのがいい。

が、開発者しかつかわないとはいえ、それにしても、それにしても依存がおおすぎる。インストールする気がうせる。
そして、Moose つかってるので起動がおそい。開発のテンポをくずす。

Conclusion

というわけで、M::I つかってる。