PECL(ネイティブバイナリモジュール)とPEAR(PHPスクリプトファイルのみ)のインストール先が明確に分離されている点。
地味にPHPが好きな理由。
Perl/Ruby/Pythonって、ネイティブバイナリのライブラリと、スクリプトファイルだけのライブラリが明確に分離されているように見えない。
程度の差こそあれ、CPANやgemやsetup.py使用時に、特にWindows上で「コンパイラ」の有無や設定を意識してしまう。
少なくとも、インストールしようとしているモジュールがネイティブバイナリなのかスクリプトファイルのみなのかは知っておく必要がある。
PHPの場合、PECLとPEARでインストール先まで分離されているし、大多数のPECLはPHP関数として、大多数のPEARはクラスライブラリとして利用するので、使い方で見分けが付く。そもそもロード方法からして異なるし。
PECLはphp.iniにextension設定を登録する。PEARはrequire()やincludeでロードする。
分かりやすい。
また、PECL提供の関数のほとんどは、関数名にモジュール毎の接頭辞が付いて、簡単に見分けが付くようになっている。PEARを使う限りは、特にWindows上では、それがネイティブかどうかや、ましてやコンパイル環境の有無や設定などは一切考える必要がない。
今まで書いたことが無かったので、載せておきました。