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

言語設計者たちが考えること
Mastermind of Programming
Federico Biancuzzi / Shane Warden
伊藤真浩 / 頃末和義 / 佐藤嘉一 / 鈴木幸敏 / 村上雅章訳
[原著:Masterminds of Programming]
- 404 Blog Not Found:与えよ、さらば求められん - What #yapcasia gave me
- 404 Blog Not Found:コードについて書く方がコードを書くより読まれる現実
- 404 Blog Not Found:悪「言語」身に付かず - 「書ける」と「身に付く」の間に
などでも答えてきたはずなのだけど、またお呼びがかかったので改めて。
別にPerlに限った話ではないのだけど、「○×言語は衰退しました」って人には、一つの共通点がある。
自分が書いたコード、いや貢献を、さらさないこと。
コードをさらさないどころか、自分が何物であるかすらさらさない場合がほとんどで、その時点でまっとうな社会人がまっとうに取り合うべき言説ではない。運転免許も持ってないガキが本や雑誌や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ではなくpush、collectではなくmap。(Rubyは両方いけるけど)。「Script Kiddiesのための言語」という悪評を背負ったところまで似ているのは不憫ではあるけれども、よく使われていることの裏返しでもある。言語の不備を、PythonやRubyのように言語そのものを改変するのではなく、新機能追加と Best Practice (作法)の施行によって補っているところも。'use strict';
にはさすがにずっこけたけどね。
そして流行を追いかける際に、git は欠かせない。その git の実装にも Perl が用いられていることをどれほどのユーザーが知っているのだろうか。
その Perl でさえ、シェルスクリプトを全て置き換えるには至っていないことを鑑みれば、Perl を Disりたい人たちが、今 Perl が支えている負担を肩代わりしてくれることはありえないと断言するしかないだろう。楽しいだけでは嫁ではない。楽にしてくれてはじめて嫁ではないか?
Perl, the first postmodern computer languageI'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
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。