パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

現代的な Perl を再習得する方法は?」記事へのコメント

  • まずは基礎固め (スコア:1, 参考になる)

    by Anonymous Coward

    「モダンPerl入門」は私も読みましたし、良い本だとは思いますが
    jcode.pl 時代の感覚で読むのは少々つらいかと

    あえて、モダンじゃないけど「続・初めてのPerl」を推します。
    初めて とあるので、今更と思うかもしれませんが
    リファレンスとオブジェクトをしっかりおさえておくのが先決だと思います
    # 翻訳タイトル悪いよね

    • by coja (15969) on 2009年06月10日 12時31分 (#1583822)

      同感です。

      ラクダ本の3版で、5.6で文法的に追加された要素や雰囲気を調べてから、perldeltaで5.8や5.10での差分を、特にこの辺りで色々と変わった文字や文字コードの扱い(UnicodeとかIOレイヤーとか、Encodeとかencodingプラグマとか。)を重点的につかみ、(あと色々便利になったことを眺めたりしつつ、)その上で「モダンPerl入門」に進むというのがいいのではないかと。

      また、「Perlプログラミング救命病棟」という本で主に取り扱っているのが、「古いPerlコードを引き継いでそれを今風に書き直してメンテナンスする方法」なので、新旧の差分を追いかけるにはいいかも知れません。

      ところで今、きれいで実用的なPerlでオブジェクト指向のコードを書こうとしたら何を使うのがいいんでしょう。
      あるいは諸氏は何を使われていますか。
      (「RubyかPythonに乗り換え」というのはそれはそうなのかも知れませんが。)

      「モダンPerl入門」ではMooseが紹介されていましたが、今なお普段書くコードは、素直なblessしたハッシュリファレンスに少し自前で初期化コードとかアクセサ生成コードを足したようなものです。
      TIMTOWTDIとはいえ、だからこそ聞いてみたい感じがあります。

      親コメント
      • by lestrrat (38416) on 2009年06月10日 12時52分 (#1583852)

        言っても言っても信じてもらえないんですが、今僕の書いているすべてのコード(納品とかしてるものも含め)全部Mooseです :)

        親コメント
        • by Anonymous Coward

          MooseとかMouseとかShikaがこの先どうなるか分からないので
          あまり本腰を入れる気になれないんですよねぇ
          早くデファクト決まれ、みたいな

          とりあえずMooseは使っていて気に入っていますが

          • by Yappo (5920) on 2009年06月11日 11時32分 (#1584495) 日記

            Shika に関しては既に終了したプロジェクトです。
            Mouse に関しても Moose の load 時間やメモリ消費が気になる時に、 Moose の代わりとして使える物です。
            基本的には Moose を使う事が強く薦められています。
            use Moose した時の速度が気になる CGI などの用途でしたら Mouse を選択するのがありでしょう。
            将来的に Moose の読み込み時の速度が向上した等の時には Mouse は用済みのプロジェクトになる事は確定でしょうが
            その時の為に直接 Moose/Mouse を使うのではなく Any::Moose というラッパー経由で使うと移行が楽になると思います。

            Moose まわりの詳しいお話はこちらの記事とかどうぞ。
            http://gihyo.jp/dev/serial/01/modern-perl/0004 [gihyo.jp]

            また Mouse を利用して CGI/FastCGI むけのフレームワークの記事もあります。
            なんで Mouse を選択したかの説明も次回以降に説明されるかもしれません。
            http://gihyo.jp/dev/feature/01/perl_ark/0001 [gihyo.jp]

            親コメント
            • by Anonymous Coward

              Shika に関しては既に終了したプロジェクトです。

              といった情報は、どこを見てればわかるのでしょうか。

      • by coffe_ata (31369) on 2009年06月10日 16時15分 (#1583973) 日記

        古い人間なので、Class::Accessor::Fast [cpan.org]使ってます。
        自家製モジュールはMojo::Base [cpan.org]のコピー品に以下のコードを拡張して、

        sub create_attrs {
            my ($class, $attrs) = @_;
         
            while(my ($name, $value) = each %{$attrs}){
                $class->attr($name, {chained => 1, default => $value});
            }
        }

        __PACKAGE__->create_attrs({
            foo => 0,
            bar => 0,
        });

        みたいに使ってます。

        親コメント

人生unstable -- あるハッカー

処理中...