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

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

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

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

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

      自分の組織内でPerlをほとんど使わなくなった主な理由は、次の4つ。

      - true, false の boolean値を利用できない。
          CやJavaを利用している人にとって、これが使えないのはかなり痛い(自分だけ?)。

          Perlの場合、bool値を使う場合は、常にuse constant を使うか、
          sub true() { return 1; }
          sub false() { return 0; }
          などの記述をする必要がある。非常に面倒。

      - オブジェクトを呼び出す際に new 演算子が必ずしも必要でないため、開発者の嗜好や、開発環境の慣習によってコードがバラバラ

      • Re: (スコア:2, すばらしい洞察)

        CもJavaもやるけど、true/false無くても別に痛くない。
        人によってマチマチになる点はコーディング規約で縛ればいい。
        命名規約でも縛ればいい。

        自由すぎて困るなら、自分で枠を作ってやればいい。
        # それがフレームワークの別の側面だと思う

        • Re: (スコア:2, すばらしい洞察)

          booleanがなくても構わないというのは、すごいですね。
          そもそもbooleanって、0と1だとコードの可読性が低くなるから導入されたものですよね。

          $is_valid = true;
          $is_valid = false;

          $is_valid = 1;
          $is_valid = 0;

          上記のコードでは、あきらかに前者の方が理解しやすいです。後者は1という数値が真を表しているのか分かりませんし、0と1だけではなく、ひょっとすると 2,3,4...という数値があるかもしれないという疑念にかられてしまいます。(実際に2以上の値がついたコードで嵌ったことがあります。)

          > 人によってマチマチになる点はコーディング規約で縛ればいい。

          コーディング規約を決めるコストが高つくので、あまり使わなくなったという経緯があります。
          真偽値の扱いをどうするかとか、アクセサのモジュールはどれを使うのとか、そういったことを開発前に打ち合わせること自体、時間の無駄だと思います。

          • by Anonymous Coward

            >そもそもbooleanって、0と1だとコードの可読性が低くなるから導入されたものですよね。
            $isValid(正当かどうか)っていうように、変数側の命名基準がハッキリしてれば
            0か1か2かじゃなく"真か偽か"の二択だっていう事は判るだろうし、言語の問題というよりはどっちかというと
            読む側の"行間を読む"能力の問題じゃないの?

            • はい。そのとおりです。
              変数名の命名規則でほぼ判別できます。
              ただ、true か false のほうが確実ですよね?

              一番怖いのは、変数名をだけを見て、読む側が0か1だろうと判別してしまうことです。
              書く側が未熟で、0か1ではないコードを書く可能性だってあります。その場合、原因に気づけず、多くの時間を費やすかもしれません。

              これまでの経緯で分かると思いますが、Perlのbooleanの有無については、必ずこのような議論が発生してしまいます。
              私はこのようなこと自体が無駄だと思うので、あまりPerlを使わなくなったのです。

              親コメント

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

処理中...