なぜPerlは「標準」で組み込みの関数やライブラリが少ないのか

  • 8
    いいね
  • 5
    コメント

なぜPerlは「標準」で組み込みの関数やライブラリが少ないのか。

Perlで標準モジュールが増えることはあまりなし

Perlのリリースを長い間見ていますが、標準モジュールが増えるということは、あまりないです。

本当に有用なモジュールだと感じたのは、Perl 5.10で導入された日付と時刻のライブラリである、Time::Pieceくらいでしょうか。

むしろ小さくしたいのが、現在のPerl開発チームの意向

少し驚いたのは、Perl 5.22で、長年標準モジュールだった「CGI.pm」がコアから外れたことです。

他の標準モジュールでも、使い道がほぼないと判断されるものについては、削除されてきている流れです。

互換性がなくなるわではなくって、Perlコアから削除されたモジュールは、CPANからインストールすれば、そのまま動きます。

コア開発者の負担を軽減したい

ライブラリをコアに含めるということは、たくさんのライブラリの管理をPerlコアで行う必要があるということです。

Perlのコアのライブラリは、CPANとコアの両方で、二重に管理されています。これは「デュアルライフモジュール」と呼ばれます。

これは、Perlのリリースごとにアップグレードしなくてはいけないので、コア開発者の負担にもなります。Perlコアはすでに複雑なので、なるべく管理する部分を少なくしたいという意図があると思います。

方向性としては、コアのライブラリは増やさずに、小さくして、必要であればCPANから利用してねというのが、Perlコア開発者の考え方だろうと思います。

ライブラリを拡大するときには、たくさんの政治的な問題を抱え込みますし、入ったライブラリの互換性を崩すことができなくなります。

僕は、このPerlの方針は好きですけどね。