この話題に関してはすでに

などでも答えてきたはずなのだけど、またお呼びがかかったので改めて。

別にPerlに限った話ではないのだけど、「○×言語は衰退しました」って人には、一つの共通点がある。

自分が書いたコード、いや貢献contributionを、さらさないこと。

コードをさらさないどころか、自分が何物であるかすらさらさない場合がほとんどで、その時点でまっとうな社会人がまっとうに取り合うべき言説ではない。運転免許も持ってないガキが本や雑誌やWebで知識だけを肥大化させたあげく「FRは衰退しました」って言っているのをカーデザイナーが真に受けるべきではないように。

元発言に対しての言及はここまでにして、まっとうな(と少なくとも本人は思っている)一コーダーとして改めて改めて考えてみる。さらに踏み込んで、「すべてのPerlスクリプトを、生まれる前に消しさる」ことは可能なのか、と。

調べれば調べるほど、「いやあ、ただの概念に成り果てても無理です」という答えしか出てこない。

「こちら側」はとにかく、「あちら側」のPerl依存は、まるで減る傾向が見えない。

たとえば、FreeBSDのPortsを見てみよう。

% egrep '^php5-'           /usr/ports/INDEX-8 | wc
      81    1683   34743
% egrep '^ruby[0-9][0-9]-' /usr/ports/INDEX-8 | wc
     194    6222  131780
% egrep '^py[0-9][0-9]-'   /usr/ports/INDEX-8 | wc
    1275   56601 1236247
% egrep '^p5-'             /usr/ports/INDEX-8 | wc
    4735  177520 4392348

圧倒的じゃないか、我が軍は。

Perlが標準搭載されていないOSでさえこうなのである。

それでは標準搭載されているOSはどうかというと、Linux のほとんどの distros では Perl と Python までは標準装備でも、 Ruby はまだそうなってはいない。OS X は Ruby も標準装備しているけれども、1.8.7で1.9系ではない。同様の悩みは Python にもある。OS標準装備なのは Python2 であって Python3 ではないのだ。「Google App Engine が Python 3に対応するのはいつ頃ですか」という質問を中の人に投げかけたことがあるのだが、「10年ぐらいですかねえ」という答えが返って来たのもうなづくしかない。

流行を追いかける者にとって、標準装備というのはそれ自体「流行遅れ」のシグナルである。しかし標準装備されるということがどれほどの価値を持つのかは、 JavaScript を見れば疑いようがない。言語の多少のあらなど吹き飛ばす力が、そこにはある。

その JavaScript に最も似ているのは、実は Perl であるといったら意外だろうか?しかしその類似性は Array.prototype のメソッド名にも透けて見える。

appendではなくpushcollectではなくmap。(Rubyは両方いけるけど)。「Script Kiddiesのための言語」という悪評を背負ったところまで似ているのは不憫ではあるけれども、よく使われていることの裏返しでもある。言語の不備を、PythonやRubyのように言語そのものを改変するのではなく、新機能追加と Best Practice (作法)の施行によって補っているところも。'use strict';にはさすがにずっこけたけどね。

そして流行を追いかける際に、git は欠かせない。その git の実装にも Perl が用いられていることをどれほどのユーザーが知っているのだろうか。

その Perl でさえ、シェルスクリプトを全て置き換えるには至っていないことを鑑みれば、Perl を Disりたい人たちが、今 Perl が支えている負担を肩代わりしてくれることはありえないと断言するしかないだろう。楽しいだけでは嫁ではない。楽にしてくれてはじめて嫁ではないか?

Perl, the first postmodern computer language
I've taken the trash out innumerable times,
I've taken the trash out in inclement climes,
I've taken the trash out 'cuz that's what I do,
But I *won't* take the trash out when you tell me to.

「ゴミ捨て」に相当する作業は軽く、そして下に見られがちなのだけど、Perlコミュニティほどそういった行為に敬意を払っているコミュニティは希ではないか。

日本OSS奨励賞を受賞しました - 941::blog
ざっと過去の受賞歴を見返してみましたが、OSS貢献賞・奨励賞ともに開発者の方が対象となってきているようなので、非エンジニアとしては初の受賞となったようです。

祝辞がすっかり遅くなってしまった。改めて、おめでとう。

で、きみの嫁言語なんだが、彼女はゴミ捨てを手伝ってくれるかね?

Dan the Classic(al) Perl Monger