よいライブラリの定義はいろいろあるとおもっていて、いろいろな要因があるとおもうのだが。ひとつは「脳に負担をかけないか」ということ。
脳に負担がかからないようなライブラリはいいライブラリだとおもう。Moose はごく自然にクラスをかけるのですばらしい。C::Accessor::Fast なんかは、脳に負担をかけて脳内プリプロセッサを稼働させる必要がでてくる。Moose はすばらしい。
もう一つのファクターはCPUに負担をかけないか、ということであり、メモリに負担をかけないか、ということだ。
この点では Moose は落第なのである。クラスビルダをロードしただけなのに、DateTime や Data::ObjectDriver よりもメモリを喰うというのはちょっとつらい。ユースケースによっては無視できるだろうが、無視できないケースも多いだろう。
だから僕と yappo は Mouse を使いものになるまで磨きあげることにしたのだった。
つづく。