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

Perlの啓蒙と促進を目指す「Japan Perl Association」発足」記事へのコメント

  • 難点といえばソースが丸見えなことがビジネス的に問題なくらいで、Javaが目指したクロスプラットフォームは満たしているし、開発者にとって日本語みたいなUNIXシェルや、一番慣れ親しまれている開発言語であるCとの共通点も多いので、Javaほどプログラマに求める新たな開発スキルは必要ない。

    現実に組織内で完結する環境では、業務ツール開発言語として最も頻繁に使われてるように思える。

    • Re: (スコア:1, 興味深い)

      by Anonymous Coward
      > Javaほどプログラマに求める新たな開発スキルは必要ない。

      最近のPerlはそうでもない気がします。
      • Re: (スコア:2, すばらしい洞察)

        by Anonymous Coward

        他人のコードを読むスキルには、かなり高度なものが必要だと思います。

        #ビール片手に一ヶ月前に書いた自分のコードは(ry

        • ピンクのらくだ本(Perl4の時代っすね)を一通り理解したロートルなんで大外
          しかも知れませんがご容赦を。
          perlスキルは、自分ででかいの書いたことはなくて、フリーのCGIを拾ってき
          て改造する程度です(^^;;

          以下の2点で、やっぱりperlは読みにくいよなぁ、、、と思います。
          # (念のため)Hobby useでの話です。業務ではLL自体使いません

          1. 暗黙の参照
          これのおかげで記述が省略されているところが多いと読み下すのにすごく大変
          です。
          # 『慣れ』の問題だとは思うんですけど、『慣れるまでが大変』というか、
          # 『慣れる前に放り出したくなる』っていうか(苦笑)

          2. やりかたは何通りもある
          らくだ本に何度も出てくるフレーズで“perl

          --
          ♪潔くカッコよく生きてゆこう
          • by Anonymous Coward
            foo_2()は、これぐらいになりませんかね?
            ・then節でreturnしていればelseは不要
            ・変数に入れてすぐにreturnするなら、直接書く
            ・ifは例外的なもの(この場合は終了条件かな)を先に書く(条件を逆にしました)

            int foo_2a(int x)
            {
                    if (x == 0) {
                            return 1;
                    }

                    return x * foo_2a(x - 1);
            }
            • 私は、条件を満たさなかった場合であることを明示するため、else節を入れる方が良いように思います。このような一行しかなければ明白ですけど、else節となるべき部分が長くなる場合には分かりにくくなると思います。

              親コメント
              • by Anonymous Coward

                今回の例の場合、if文の後に処理がありません。わざわざ/* NOT REACHED */と置いていますが、elseを使わない書き方なら構造がそれを示しますから、lintや読者に対する説明が不要になります。

                また、今回の例では違うと思いますが、もし真と偽が対等な正常ルートならelse節で書いたほうがわかりやすいでしょう。

                あと、いまどきの流儀だと、かなり細かく積極的に関数にくくり出すことが望まれますので、else節が長くなる心配はないです。関数やファイル数が増えるのを嫌う人もいますので、その方法を取れない場合もあるでしょうが。

                さらに余談ですが、一時期話題になった「OOコード養成ギブス [hatena.ne.jp]」(邦訳の出た「ThoughtWorksアンソロジー」の一節)では「else禁止」なんてのがあります。

普通のやつらの下を行け -- バッドノウハウ専門家

処理中...