「Perl は構文解析がとても得意だ」と言うとき、人々は何を意味するのでしょうか?
Perl は、Python や Ruby などの他のスクリプト言語よりも優れている、または強力な理由は何ですか?
「Perl は構文解析がとても得意だ」と言うとき、人々は何を意味するのでしょうか?
Perl は、Python や Ruby などの他のスクリプト言語よりも優れている、または強力な理由は何ですか?
これらは、Perl がもともとテキスト ファイルを処理するために設計されており、それを容易にする多くの機能を備えていることを意味します。
substr
, index
, chomp
, length
, grep
, sort
, reverse
, ...lc
ucfirst
Python と Ruby には、テキスト処理のための優れた機能もあります。(特に、Ruby は Perl から多くのインスピレーションを得ており、Perl は恥知らずに他の多くの言語から借用してきました。) どちらが優れているかを尋ねてもほとんど意味がありません。好きなものを使ってください。
Perl の長所の説明を、別の言語の欠点の説明と見なさないでください。Perl はテキスト処理に適していますが、Ruby や Python がダメというわけではありません。
Perl が「構文解析に適している」と人々が話すとき、彼らは主に Perl の歴史を反映しています。負荷の高いテキスト処理が容易ではなかった時代に発明されました。そのいくつかを C または C++ で試してみてください (Java もまだ発明されていませんでした!)。その昔、Larry は sed と awk を使って自分の仕事をしようとしていましたが、それらの限界に直面していました。彼は、テキストをさらに使いやすくするツールを作成しました。
Perl は依然としてテキスト操作タスクに非常に適していますが、他の多くの言語も同様です。
Perl は、ETL やバッチ処理の動きにも適しています。ファイルを取得するのは最小限のコードです。それをプッシュしてsplit
を取得map
し、レコードに対していくつかの論理的なビジネス アクションを実行し、それをディスクに書き戻します。
データ解析よりもデータ処理の方が多いと思いますが、データ処理はバルクデータ解析です。
Perlは、C / C ++ / Javaと比較すると、テキストの解析に非常に優れています。
これはおそらく、perl のドキュメントで説明されているように、人々がその目的のために構築されたものに慣れているためです。そのため、多くの人がテキスト ファイルの解析を Perl と関連付けることが一般的になっています。Ruby や Python を除外するわけではありませんが、どちらかというと一般的な名前です。
Perl は、任意のテキスト ファイルをスキャンし、それらのテキスト ファイルから情報を抽出し、その情報に基づいてレポートを印刷するために最適化された言語です。また、多くのシステム管理タスクに適した言語でもあります。この言語は、美しい (小さい、エレガント、最小限) というよりは、実用的 (使いやすく、効率的、完全) であることを目的としています。