Scrapdiary

DesigningとEngineeringの架け橋

『モダンPerl入門』を読んだ〜やっぱりPerl初心者には難しい〜

実務での開発経験も言語知識レベルもまだまだぺーぺーですが、「モダン」と呼ばれる手法に興味があったので『モダンPerl入門』を手にとってみました。

オブジェクト指向CPANをフル活用した近代Perlの開発手法

所感ですが、やっぱり初心者には難しいですね。XSとか理解おっつかず意味不明wでも「Perlでもこんな事も出来るんだよ、こんな方法もあるよ。」という事実を知る事ができたのは大きな収穫だった。もう少し腕を上げてまた読み返したいです。モダンの賞味期限が切れる前に。

内容について今の自分のレベルでとやかく言う資格はないかな。もちろん勉強になりました。読者のタイプに応じて章の読み方順を指南してくれているので、ある程度その手法について理解を深めつつ読むことができました。エッセンスとしてはオブジェクト指向CPANを活用した開発手法といったところでしょうか。

自分に刺さったのは次の章です。

  • 第1章 近代的なオブジェクト指向
  • 第3章 データベース処理の薦め
  • 第6章 テストの薦め
  • 第9章 押さえておきたいPerl の基礎

以下それぞれについて自分なりに読み取ったことをあげてみます。

第1章 近代的なオブジェクト指向

Mooseという名前が聞いたことがあるけど、それって何?っていうレベルでした。巨大なモジュールは「ハードウェア性能の向上とプログラム処理のオーバーヘッド、それと利用による負荷」、このバランスの上に成り立っているんだなと。Perlをより突き詰めていくというよりはMoose(使うモジュール)の作法を憶えていかに開発・メンテナンスのコストを削るか、という事に力を注ぐのがモダンなPerlの開発手法だと。

  1. Perl基礎
  2. オブジェクト指向理解
  3. 使用モジュール作法理解

構造的にはこんな感じか。そいういう意味ではもうちょっと基礎力を上げねば太刀打ちできないんだが、世の中OOP(Object Oriented Perl)なので1.と2.は同時並行的に伸ばしていくしかない。3.はその都度、使用するモジュールごとに憶えるか、代表的なモジュールくらいは使いこなせるようになっておくのがベターか。

第3章 データベース処理の薦め

繋ぎ先のデータベースについても使うにはそれなにの知識が必要だとは思うんだけどその辺りはもちろん触れず、純粋にプログラム側からの視点から。こんなに簡単にデータベースに繋げるというのは驚き。ホント、Perlってuseしてなんぼな言語だとつくづく思った。

第6章 テストの薦め

自分がWeb関連の仕事をしているので、テストっていうとapacheを通して表示された結果、つまりは出力されたHTMLレベルでのテストしか経験したことがないので、これは目から鱗でした。いきなりここまで細かいテストができるのか?とか思ったけど、開発したモジュール一つ一つに対してテストを書いていくのは後で困らない、つまりは楽をするためには重要な要素なんだと実感。

第9章 押さえておきたいPerl の基礎

CPANの使い方から中級レベル向けのTIPSでしたが、これは初心者でもタメになりました。Perlという言語がCPANといかに表裏一体か―つまりはCPANの恩恵を受けなければPerlを使うメリットが半減してしまうということ。JPAの活動でCPANでの動きなど最新情報を広く提供してくれることに期待したいです。


そもそもPerlオブジェクト指向って何だ?

先にPerlオブジェクト指向がどんなものかを先に理解しておく必要があると思った。ちょっと毛色は違うけど、『すぐわかる オブジェクト指向 Perl』はPerlが後付でオブジェクト志向を追加していった経緯やその仕組み(bless)を噛み砕いて説明、動くサンプルコードで比較的わかりやすく解説してくれます。

まずはこっちを読んでみて、Perlオブジェクト指向ってこんな感じなんだ、ということを認識しておいたほうがいいかも。
自分はこっちを読んだけど太刀打ちできなかったw


同様にモダンを表題に掲げるモダンPerlの世界へようこそid:charsbarさんが技術評論社のサイトで現在連載中。こちらはオブジェクト指向Moose関連にスポットが当たっています。