プログラミング言語のPerlを知っていますか?Webサーバー上で動作するプログラムであるCGIによく用いられていた言語です。例えば昔のインターネット掲示板やホームページのカウンターはPerlを使用したCGIがほとんどでした。しかしCGIを利用したことはあってもPerlについてはあまりご存知ない方も多いのではないでしょうか。
今日はPerlについてざっくり紹介します。
Perlとは?
Perlは、ラリー・ウォールによって開発されたプログラミング言語です。1987年にバージョン1.0がリリースされました。Perlは、初期から文字列処理機能や、正規表現をサポートしていました。これにより、テキスト解析やデータ加工のために広く使われるようになりました。PerlはC、sh、AWK、sedなどの様々な言語の影響を受けています。
Perlの歴史
その後1988年6月にリリースされた Perl2はより優れた正規表現エンジンを特徴としていました。1989年10月にPerl3、1991年3月にPerl4がリリースされました。Perl4リリースとともに、Perl唯一のドキュメントと知られる、『Programming Perl』が出版されました。この本の表紙がラクダだったため、この本は「ラクダ本」と呼ばれています。ラクダはその後もPerlの一種のシンボルとなりました。
Perl5は1994年10月17日にリリースされました。Perl5はCGIスクリプト言語として人気となり、インターネットの普及とともに広がりました。
CGIとは、Webサーバー上で動作するプログラムの一種であり、Webブラウザから送信されたデータを受け取り、処理結果をWebブラウザに返すことができます。PerlはCGIのための言語ではありませんが、HTMLと相性が良く、HTMLと組み合わせて使われることが多い言語です。
しかし、Perlは文法の自由度が高くプログラマが好む記述で書くことができたり、複雑な処理を文字数を減らして書くことができました。これはデータ通信量の制限が大きかった時代には非常に有効でしたが、のちに使用されるようになった言語より読みにくく他人のソースコードを扱いづらいという欠点がありました。
Perlの現在
2015年に10年ぶりにPerl6が公開されました。しかし、Perl6はこれまでのPerlとはまったく異なる言語でした。既存のPerl5のプログラムはアップデートされることなくそのまま使用されることとなりました。
Perl6は以前のバージョンよりさらに柔軟な記述が可能となりました。しかし、2015年にはすでに
WEBアプリケーションが大規模となっておりPHP、Python、Rubyなど大規模開発が可能であり可読性も高い他の言語での開発が主流となりました。しかし、それらの言語はPerlの影響を受けています。
また、正規表現が得意でテキスト処理やデータ処理に強いPerlは汎用性の高い言語を必要とする場面では今でも人気があります。
Perl6はPerl5までと全く異なる言語だったため、2019年10月に「Raku」という名前に改められました。つまり、もう「Perl」ではなくなってしまったということですね。
「Raku」には「Rakudo」というコンパイラが提供されています。Rakudoという名称は、日本語で極楽を意味する「楽土」と「ラクダ道」に由来したダブルミーニングだそうです。ラクダ道というのは県道や柔道の道ということでしょうか。Perlとはプログラム言語ではなくPerlの道を極めること自体なのかもしれません。なかなかインパクトのあるロゴですね。
Perlの名前の由来
Perlの名前は開発者のラリー・ウォールが敬虔なクリスチャンであったため、新約聖書のマタイによる福音書13章46節、
また、天の国は次のようにたとえられる。商人が良い真珠を探している。 高価な真珠を一つ見つけると、出かけて行って持ち物をすっかり売り払い、それを買う。
ここに出てくる「高価な真珠」にちなんで、真珠を意味する「pearl」と名付けられました。しかし、真珠を表す単語「PEARL」はすでに存在していたので、「Perl」という名前になりました。現在は「practical extraction and report language」(実用的なデータ取得レポート作成言語)でPerlという名称ということになっています。
ちなみに、Perlの影響を受けて開発された言語であるRubyは、6月の誕生石である「真珠(Perl)に続く」という意味で、7月の誕生石「ルビー」から名付けられました。
今回はざっくりとPerlのことについてご紹介しました。WEBでPerlを見かけることは以前より少なくなりましたが、Perlの影響を受けた言語は今も大活躍しています。また、Perlの強みである強力なテキスト処理を活かして今でも使われています。プログラミングの歴史に残した功績は大きいと言えますね!
コメント