Perlの概要

今回はプログラミング言語の一つPerlの歴史について見ていきたいと思います。

が、「そもそもPerlって、どんなプログラミング言語なの?」という方もいらっしゃるかと思いますので、Perlの歴史の前に、Perlというプログラミング言語のことを知ってもらえるよう、プログラミング言語としての概要を簡単にご紹介いたします。

プログラミング言語を分類ごとに整理したときの特性を強調して、〇〇言語(〇〇に特性が入る)と表現することがありますが、Perlは“汎用スクリプト言語”と表現することが多いです。

汎用の意味は普遍性があるだとか、広く使えるという意味であることはみなさんご存知かと思いますが、“スクリプト言語”という言葉は非ITエンジニアの方にとっては「なんだそれ」だと思います。

“スクリプト言語”とは「ソースコードの記述が比較的簡単なプログラミング言語」のことを指しますが、Perlの場合はコンパイル(書いたソースコードを機械語に翻訳する作業)が不要でソースコードを書くとすぐに利用できる、という点が特に重要なポイントです。

もう少し現場的なPerlのプログラミング言語としての特性についても見ておきましょう。

Web系の方だと、言語をサーバ上で動くプログラミング言語のことを“サーバーサイドの言語”、Webブラウザ上で動くプログラミング言語のことを“フロントエンドの言語”と表現することが多いですが、この分類だと、Perlはサーバーサイドの言語になります。

「この商品をカートに入れる」をクリックすると「カートに追加されました」とポップアップが出るような“動きのあるWebページ”のことを動的ページと呼びますが、あるタイプの動的ページの実現方法の一つとしてCGI(Common Gateway Interface)と呼ばれる仕組みがあります。

このCGIは、どのように表示するかの処理をサーバ側で行ったうえで、処理結果をサーバからWebブラウザに転送して、表示してもらうというものです。

そして、サーバ上で動く。どのように表示するかの処理を行うプログラムにPerlが使われている、という構図になります。

ですので、ベテランプログラマーを中心にPerl案件といえばCGIのイメージを持っている方も多いと感じます。

Perlの歴史《黎明期》

Perlのことがなんとなくわかったところで、Perlの歴史を紐解いていきましょう。

Perlが誕生したのは1987年で、開発者は「怠惰(Laziness)」「短気(Impatience)」「傲慢(Hubris)」をプログラマーの三大美徳と提唱したことで有名なラリー・ウォールです。

Perl開発当時は、いまほどプログラミング言語の種類も多くなく、ちょっとしたサーバ上のテキスト処理をするにしても、コンパイルが必要なC言語か、あるいはUNIXコマンドをプログラミング言語のように扱うシェルでプログラミングを作成する、というのが一般的でした。

ですが、コンパイル言語はコンパイルの手間がかかりますし、シェルはドキュメント処理なども一応は可能でしたが、中身としてはいわゆるUNIXコマンドです。

そもそも論として、テキスト処理のために作られたものではなく、処理は早くないし、複雑な処理に対応するのは大変、という問題がありました。

そこで、コンパイルが不要でテキスト処理に強い言語として編み出されたのが、Perlとなります。

Perlが広く世間に知られるようになったのは、時代のニーズに適合したプログラム言語であると同時にドキュメントの充実にも触れておくべきでしょう。

Perlが世間に公開されたのは開発から4年後の1991年ですが、この年、表紙にラクダのイラストがあることから“ラクダ本”という通称で知られる、オライリーメディア社の『プログラミングPerl』が発売されています。

なお、『プログラミングPerl』の執筆者には、Perl開発者のラリー・ウォール自身も参加しています。

ちなみに、現在もラリー・ウォールはPerlプロジェクトのBDFL(Benevolent Dictator For Life、優しい終身の独裁者。内部で対立があった際、最終的な決定権を持つ人物に対する称号)として、重要な役割を担っています。

Perlの歴史《成長期》

黎明期で触れたように、時代のニーズにあったプログラム言語として人気を集めたPerlですが、よりPerlがメジャーな言語になったのは、言語の概要でも紹介した通り、CGIにPerlを使うのがスタンダードになったことが挙げられます。

そもそも、なぜPerlでCGIを使うのがスタンダードになったかというと、スクリプト言語で取り扱いが容易である、という点、CGIで動的ページを作るというのは、結局のところHTMLの生成、つまりテキスト処理であった、という点、そして、OSのサポート状態です。

今でもサーバ用OSといえばRed HatのようなLinux系OSが多いですが、90年代というのはWindowsがやっと登場したばかりで、サーバ用OSといえば、UNIXやLinuxが当たり前という時代でしたが、すでにその頃にはUNIXやLinuxには標準でPerlがインストールされていました。

わざわざPerl以外のプログラミング言語を利用しようと思う人も少なかったため、PerlでCGIを書くのが当たり前になったわけです。

こうして、一時代を築いたPerlですが、やはり完ぺきな言語ではなく、いくつか欠点があり、その欠点に対応できる新たなプログラミング言語の誕生・発展も発生しています。

例えば、「やり方は一つではない」という有名なPerlのモットーは、機能Aを持ったプログラムのソースコードの書き方はいくつもあることを意味しています。

人によって書き方が違うと、あとあと確認するのが面倒ですし、デバックの際、解析するのも大変です。

生産性・保守性という意味ではデメリットでしかありません。

結果、「やり方はいつも同じ」になることを目指したPythonが注目され、人気を集めるようになったのです。

あるいは、Perlはオブジェクト指向言語でもあるものの、オブジェクト指向に対応するようになったのは1994年のバージョン5.0からと、いわば後付けであり、一部のプログラマーから、オブジェクト指向により最適なプログラミング言語を求める声も出てきました。

その声を具体化したのが日本発の国際プログラミング言語である、Rubyです。

RubyはPerl・Pythonと異なり、最初からオブジェクト指向言語として設計されたプログラミング言語です。

そして、CGIというやり方自体、どうだろうか、という考え方も出てきました。

CGIにおいてPerlで書かれた実行ソースコードはHTML本体に書かれているのではありません。

処理の度に、いちいち呼び出し処理が必要になります。

その手間をなくすために、最初からHTML内に記載するタイプの、より動的ページ作成に向いたプログラム言語があると良いのでは?というアイデアから生まれたのがPHPです。

Perlの歴史《現在》

Perlの欠点を解消するための新たなプログラム言語が登場し、それらが活躍していることはすでに触れた通りです。

では、それらに取って代わられてPerlは衰退・消滅している流れかというと、そういうわけではありません。

現在も開発が進められていますし、Perlには新しい言語より歴史が長い分、ドキュメントの充実、ノウハウの蓄積がある、という強みがあります。

すでにPerlで書かれたシステムを保有している企業においては、それらとの親和性を考えて、新規システムにおいてもPerlを選択するというのは普通のことです。

今後もライバル言語と比較検討されながら、使われ続けると思われます。

まとめ:互いに影響を与えながら進化

今回はPerlの歴史を見ていきました。

Perlの歴史を知ることで、他のサーバーサイド言語との関係、それぞれの特徴も見えてきたかと思います。

このように、それぞれのプログラミング言語は、互いに影響を与えながら進化しているのです。

歴史を知ることで、プログラミング言語の特性がわかり、システム開発の際、どの言語を選択するべきかの判断材料にもなるので、知識として持っておくことをおススメします。

今すぐシェアしよう!
今すぐシェアしよう!