モダンPerl入門買ってきました。

やっとジュンク堂に寄れる時間ができたので、以前エントリで触れた『モダンPerl入門』を買ってきました。

http://d.hatena.ne.jp/clmind/20090309

理由もなく「PerlOOPは素晴らしいから是非使おう!」なんてだけ言語信者の宗教勧誘みたいなことが書いてあったら買わずにブン投げてやろうかと思ってましたが(なんという失礼さ)、ちょっと立ち読みした所期待通りの内容っぽいのでバッチ購入。評判が高いだけありますね。
上のエントリでも触れましたが個人的にPerlのネイティブ実装ではないオブジェクトに違和感を覚えてたということ、さらにJavaだと仰々しすぎるしPHP実装のオープンソースをよくハックする。なんてことがあいまって最近Web UIを作る時はPHP+Smartyを使うようになってました。

Perlは一番好きな言語なのでyaml食ってnagiosのconfig吐くのとか、named.confを辿ってレコード全部吐き出すのとか作ったり色々役にたってはくれてます。が、この世界に入るきっかけになったのがPerlでBBSを作ったというところだったのでちょっと寂しさを感じてたりしてたんですよね。

んで、これは再度Perl愛に目覚める良い本かもしれん。と、思ってたわけです。1章をざっと読んだところ、

モダンPerl入門曰く

モダンPerl入門曰く 「Perlのオブジェクトはネイティブじゃなくて魔法がかかったリファレンスだよ!」

俺 「うんうん。知ってるぜ。」

モダンPerl入門曰く 「Javaみたいにアクセス指定子とかもないし、見にくいし、いまいちなとこもあるよね!」

俺 「ですよねー」

モダンPerl入門曰く 「でもPerlの良いところは拡張性の高いとこですやん?ならもっと美しくする方法があるんとちゃいまっしゃろか?」

俺 「確かに。もしかして何か良いものが....?」

モダンPerl入門曰く 「Mooseってのがあるんですよ。奥さん。( ̄ー ̄)ニヤリッ」

俺 「キタ━━━━━━(゚∀゚)━━━━━━ !!!!!」


てな感じで帰りの電車の中で読んでました。Mooseという洗練された形でモジュール化することによって悩ましいとこを解決したみたいですね。
モジュール(カプセル)化によってより違和感のないOOPを実現するなんて、OOPをもってOOPを制すみたいな?感じで美しさを覚えざるを得ないですね。

残りのページをざっと流し読みしたところ、丁度作るのに良いネタがあったのでチャレンジしてみようと思ってます。後は読みながらコードをなぞってみよっかな。

追記

読み進めてて頭に浮かんだ or 気になったことをメモ。

Moose