パスワードを忘れた? アカウント作成
82394 journal

hylomの日記: Perlが嫌いなやつはPerlプログラマだ! 嫌いじゃないやつは、訓練されたPerlプログラマだ! 5

日記 by hylom

Perlの一番の問題点は、訓練コストの高さだと思う。

たとえば、現状では「初めてのPerl」→「続・初めてのPerl」→「Perlベストプラクティス」まで読まないとまともなPerlプログラマにはなれない。逆にこれらの内容を習得して実践できる人なら、誰も「Perlはソースが汚い・読みにくい・分かりにくい」とか言わないだろう。その上で実用 Perlプログラミングを理解してやっとPerlプロフェッショナルの入り口にこれるわけです(自分はここで断念しましたが。ここまで来ると「Perlのオブジェクト指向は素晴らしい!!!」となれるらしい)。

さらに、「初めてのPerl」レベルでも一通りのことができてしまうからタチが悪い。「初めてのPerl」で止まったプログラマはワケの分からないコーディングをしたり、無駄なコーディングをしたり、遅いコーディングをしたりして結局「Perlは使えない」という話になってしまう。その割にPerlユーザーは多く、「初めてのPerl」レベルの人が大多数なので結局世は酷いPerlコードであふれかえる事態に。特に日本では時代遅れのCGIコードが多数ばらまかれているから始末が悪い。

いっぽうで訓練されたPerlプログラマはCPANモジュールなどを組み合わせて、驚くほど少ないコードでプログラムを組上げることができるので、ばらまかれているレガシーなPerl CGIコードなんて触らない。モジュールを上手く活用すれば同等のものをスクラッチで作ってもたいした手間はかからないし、メンテナンス性も高いからだ。

ということで、JPAにはまずは「use strict;」していないCGIをインターネット上から抹消する作業をぜひ初めてほしいものです。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by L.Entis (21733) on 2009年04月10日 17時32分 (#1547068) 日記
    同じことが C++ にも言えるような…w

    ところで、(私は滅多に Perl は使わないのですがそれでも)「use strict;」は必ず使っているのですが、これの恩恵を実感したことがありません。
    (それとオブジェクト指向的コーディングはほとんど必須(しないと気が狂いそうになる(汗))で行っていますが)
    ブルジュ・ドバイの天辺から壁伝いに素手で降りるのに、命綱としてタコ糸を渡されるような気分です。
    それでも Perl を極めると、Perl の加護が受けられるようになるものでしょうか?
    • 「use strict;」すると、他人がコードを見たとき、とりあえずこのコードを書いた人はある程度知識があると理解してくれるというのが一番のメリットでは、と勝手に思っています(笑)。「use warnings;」も同じですね。

      そんな自分は最近はPythonに乗り換えてしまいましたが(汗)。Pythonも気持ち悪さではPerlとどっこいどっこいですが、文法がかっちりしている点は良いですね。

      親コメント
  • by Anonymous Coward on 2009年04月10日 17時50分 (#1547083)
    昔だったらダミアン・コンウェイ本 [amazon.co.jp]で鉄板だったんでしょうけど、モダンPerl [gihyo.jp]の動向についていけてない浦島太郎状態の俺ガイル。
    • モダンPerlは難しいですねぇ。先の記事も、Perlのオブジェクト指向を完全にマスターしていないと何を言っているのか分からないという、「モダン」という名前からは想像できない内容ですし。これだけ使いこなすのに学習がいる言語も珍しいのでは?

      そして自分はこの辺で議論されている話がもうダメで、それでPythonに転向してしまいました。

      親コメント
  • by Anonymous Coward on 2010年05月02日 0時58分 (#1757803)
    perlは嫌いじゃないんだけど、小飼 弾が嫌い。
typodupeerror

開いた括弧は必ず閉じる -- あるプログラマー

読み込み中...