ほとんどのLinuxディストリビューションがデフォルトでPerlをインストールするのはなぜですか?

ほとんどのLinuxディストリビューションがデフォルトでPerlをインストールするのはなぜですか?

ほとんどのLinuxディストリビューションがデフォルトでPerlをインストールするのはなぜですか?

答え1

ラリーウォールズではオリジナルのPerl v1.0リリース到着comp.sources.その他1987年12月18日、ニュースグループのメッセージで彼はこう言いました。

通常、sed、awk、shを使用していますが、その機能を外したり、少し早く実行する必要があり、Cで愚かなコンテンツを作成したくない場合は、Perlが適している可能性があります。

はるかに後でフェア、彼は少し詳しく説明しました。

しかし、Unixシェルプログラミングへの不満はPerlの誕生に直接つながったので、これについて話す時間はありません。しかし、本質的にシェルスクリプトは、ほとんどの動詞が制御範囲外であり、互いに大きく一致しないという事実によって本質的に制限される。そして、名詞も文字列とファイルに制限されており、非常に悪いです。どんなタイプなのかわかりません。

もっと有害なのは、それが一次元宇宙であるという考え方です。 Cでプログラムするか、シェルでプログラムします。なぜなら、2つは明らかに真の連続体の反対側の端にあるからです。 Perlは、スクリプトが常にプログラミングと反対しているとは考えられませんが、単一の言語が両方に非常に有益であることに気づいたときに誕生しました。これは巨大な生態学的なニッチを開く。多くの人が私の古いフリップチャートを操作的次元と鞭打ち次元の両方を含むものに見ていたでしょう。

今日、Perlはシェルスクリプトとテキスト解析のニーズのための標準的な代替ツールとなり、既存のツールよりも多くの機能を備えています。 Perlの極端な(一部の人々はエレガントではないと言うかもしれない)柔軟性のために、Perlは次のように説明されています。スクリプト言語のスイス軍チェーンソーPerlを使って解決すると、作業がはるかに短く、より簡単でスケーラビリティが高くなることがよくあります。もう別の標準のUnixツールであり、本当に不可欠ではありません。

答え2

答えがセクシーかどうかは、視点によって異なります。

Perlは非常に便利です。多くのシステムユーティリティはPerlで書かれているか、Perlに依存しています。 Perlをアンインストールすると、ほとんどのシステムが正しく動作しません。

数年前、FreeBSDはこのようなことを経験しました。たくさん一生懸命働いたPerlを依存関係で削除する基本システム用。これは簡単なことではありません。

答え3

  1. Perlは、ツールが十分に強力ではなかったため、Unix用に開発されました。スポーツの場合はそこからとawk(Perl)を見つけることができます。sed
  2. Perlは、とりわけUnixシェル(そしてUnixにとって非常に重要なCまたはその逆の場合)に触発されました。
  3. 返品、PerlはGNUライセンスに従って配布できます。。一部の人々は、これが技術的な観点では重要ではないと主張するでしょう。しかし、これはハイブリッドを示す。
  4. 最後に考えられるのはネットワーキング「パッケージ」であるLAMPです。 (Wikipediaで見つけてください。PはPerl、または少なくともPerlです。LはLinuxです。)(しかし最後の部分は少し鶏と卵が必要な問題です)

答え4

私はこの質問に対する答えが部分的には歴史的であり、部分的には実用的だと思います。

歴史的に見ると、Perlはエレガントな言語です。 Pythonよりもエレガントです(PHPはもちろん)。 「より良い」ことが何であるかはわかりません(もし何らかの方法で正式に分析できれば疑わしいです)。 Perl を使用していたり​​、使用したことのある良い人が Linux ディストリビューションに何を含めるべきかを決める人が多いです。

実用性の面では、Perlはいオペレーティングシステムやネットワーキング(やはりLAMP、Python、PHPを忘れないでください)など、多くのものへの接着剤です。それでは、さまざまな目的に役立つものを含めるとどうなりますか?それになぜ?削除するそこに何でも(害はないでしょう)そしてそれは役に立ちますか?

しかし、とりわけ、Linux Magazine最新号(2013年6月151号)にこれについてのメモがあります。明らかに、Linuxカーネルをコンパイルするために、いくつかの短いPerlスクリプトが使用されています。 (再び、オペレーティングシステムにおけるPerlの「接着剤」の役割です。)今、カーネル開発者はこれらのスクリプトを書き換えるためのパッチを提出しました。今回はPerlではなく「Unixシェルスクリプト」(このようなもの)でしたsh。 )。これにより、カーネルをコンパイルする人がPerlをインストールする必要がなくなります。しかし、何度も提出されたパッチはまだ採用されていません。 1つの理由は、一度無視するとPerlが受け入れられる可能性が低いためです。人々はPerlを愛し、それをあきらめたくありません。

これはこの問題の端にすぎません。これは、カーネルをコンパイルする可能性のあるLinuxユーザーの数が非常に少ないためです。しかし、それはパズルのもう一つの部分です(そしてもっとたくさんあると思います)。

関連情報