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 つかってる。