PHPとPerl、世の中にプログラミング言語はたくさんあるが、「この2言語を知らないプログラマはいない」と断言できるほど、どちらも有名なプログラミング言語だ。
どちらもオープンソースで管理されており、ライセンス規約を守れば誰もが自由に利用できる。
字面が似ていて、Webアプリケーションに使われるという共通点もあるため混同されやすい言語だが、このページではPHPとPerlの違いをご紹介する。
どちらの言語が初心者におすすめかも述べているので、もしあなたが人生最初に学ぶプログラミング言語を探していたなら、そのきっかけとなれば幸いだ。
目次
Perlとは?
Perlの特徴
まずはPerl言語から確認していこう。Perlは、1987年にラリー・ウォール氏によって開発された歴史ある言語だ。
プログラマにとっての三大美徳「無精・短気・傲慢」を提唱したことでもラリー・ウォール氏は有名だ。
その長い歴史に蓄積された再利用可能なモジュール(組み立てユニットのようなもの)がたくさんあり、組み合わせるだけで面倒な処理を手早く実装することが出来る。
一般にPerlは、Webサーバ上で動作するCGIと呼ばれることもあるが、それだけでなく、文字列処理機能が優れており、プログラミング作業やエンジニアとしての作業に欠かせないテキスト操作にも強い。
PerlはUNIX環境で発達してきたという歴史がある為、各種UNIXやLinuxには標準でインストールされているが、WindowsでPerlを実行する為には、ActivePerlというソフトをインストールして行う。
今もWebのみならず、テキスト処理やシステム管理などの用途でも利用されている。
「CGI=Perl」ではない
よくある質問だが、CGI=Perlではない。CGIとはWebサーバから起動されるプログラムの呼び名だ。
昔は、Webアプリケーションの開発といえばほぼPerl一択だったということもあり、CGIすなわちPerlと思われがちだが、厳密には異なる。
ただし、実際のところ、今はCGIと言ったら「あ、Perlで開発されたアプリケーションなのか」と思えばよい状態になっている。
PHPとは?
次にPHP言語について確認しよう。PHPは、1995年にラスマス・ラードフ氏によって開発された。
当初は、「Personal Home Page Tools」という名称で、個人の履歴書を公開する為の簡易ツールとして開発された。
その後、よりWebアプリケーションの開発に特化した言語と進化していった。
プログラミング初心者にも理解しやすい言語であることも手伝い、世の中のホームページの7割はPHPで作成されている、とする調査結果もある。
PHPは学びやすく作りやすい反面、Webアプリケーション全体に対する知識が少ないと、結果としてセキュリティ面での脆弱性などを埋め込んでしまう危険性もある。
Windows上でPHPを動かすには、殆どの場合Webサーバとセットで動かすことになるので、WebサーバであるApacheとPHPがセットになっているXAMPPなどを利用するとよいだろう。
PerlとPHPどう違う?
どっちが使われている?
率直に言って、今は圧倒的にPHPが使われている。
- 習得しやすい
- とりあえず書けば動く
- 様々なWebサイト関連のアプリケーションがPHPで作られている
- ブログや書籍が多くあり情報収集がしやすい
など、要はプログラミング初心者の方々や、エンジニア寄りではないデザイナーの方々などに圧倒的な支持を受けた結果、需要を一気に拡大した。もちろん本格的なWebサービスも作ることができる。日本で使われているWebサービスもPHP製はたくさんある。
PHPの習得のしやすさは、Perlに限らず他の言語と比較した場合でも大きいアドバンテージだ。
他には下記のような理由で、PHPのほうが使われている。
- 世の中のほとんどのレンタルサーバで利用可能。
- データベースとの連携など動的なWebアプリケーションを開発するのに適している。
- 上記の結果ともいえるが、普及率が高い為、新規/改修/保守問わず、PHPの需要が高い。
実際にPHPとPerlの人気度を比較してみると
実際にPHPとPerlの人気度動向を調べてみると次のようになる。ここで言う人気度とは検索数のことだ。
このように常に2000年以降は常にPHPの方が人気が高くなっている。現状でも引き続き、圧倒的な差がついている。
※どちらも検索数は減ってきているが、気にしなくて大丈夫だ。すべてのプログラミング言語は一般用語になった関係上検索数は落ちている。
ここまで人気に差があるとPerlはもうだめなの?
そんなことはない。
PHPが誕生する前は、WebアプリケーションはほとんどPerlで作成されていた。その長い実績からもたらされるモジュールの充実や安定感は、時に大切だ。
なぜなら、世の中のアプリケーション開発がすべて新規開発というわけではないからだ。むしろほとんどは、既存アプリケーションの改修や機能追加といった作業だ。
だからPerlを学ぶということは、今動いているアプリケーションを扱えるスキルを獲得するということでもある。
また、あなたが抜群のテキスト処理のスキルを獲得したいのなら、Perlは適している。Perlが活躍するのはWebだけではない。むしろ元々の主戦場は、サーバ管理上のちょっとした自動化スクリプトの開発や、細かなデータ整形を含むテキスト処理向けであったからだ。
テキスト処理とは、カンマをタブに変換したり、ある特定の文字を置換したり、たくさんのテキストファイルの中から特定の字句を抽出したりといったそれ単体で何かのアプリケーションになるわけではないが、プログラミング作業において作業効率の改善やデータの抽出など、幅広く活用できる処理の作業のことを指す。作業としては多く、こう言った場面でPerlは活躍する。
PerlとPHPそれぞれの魅力
Perl言語の魅力とは?
Perlの全盛時代は、今ほどたくさんのプログラミング言語はなかった。
インターネットもまだ黎明期の頃だったので、今のようにWebアプリケーションの開発というより、真っ黒の画面上で、色々なテキストの情報をちょっと加工したり、ネットワーク通信によって他のサーバに送信するなどの処理に使われることのほうが多かった。
Linuxのシェル機能でもテキスト処理は可能だが、もっとパワフルかつ簡単に加工したい場合など、シェル機能では物足りないが、C言語で開発するほどでもない…そんな時に利用されるのがPerlだった。
つまりPerlは、C言語とシェルの良い所を備えたプログラミング言語だった。
時代がインターネット全盛になると、PerlはCGIとしても生き続けた。日本におけるSNSの先駆けとなったmixiも最初の頃は、Perlで開発されていた。
それだけ長く実績のある言語も珍しいし、今でも開発が続けられ、決して時代遅れな言語ではない。
またPerlには、プログラミング上級者を魅了してやまない哲学や品格があり、今なおPerlのファンは多い。
参考までにHello Worldは次のような書き方になる。
1 2 3 4 |
#!"hogehoge\perl.exe" print "Content-type: text/plain\n\n"; print "Hello World!\n"; |
PHP言語の魅力とは?
PHPの魅力はというと、やはりその「とっつきやすさ」である。
まったくの初心者でも、ネットの情報や書籍に書いてある通りにやれば、掲示板などいっぱしのWebアプリケーションを開発することができる。
いい意味で、適当に開発してもそれなりに動くもの作れるということだ。
とっつきやすさと各種レンタルサーバがサポートしているなどの好条件の結果、PHPは、今やWebアプリケーション開発におけるデファクトスタンダードになっている。
ただしエンジニアとして観点では1つ注意がある。
PHPは言語としては、優しい。つまり他の言語ではエラーになるようなプログラミングでもなんとかPHPが判断して動かしてくれるのだ。
だから、PHPを一通り学んだ後は、他の言語を学んだり、もっとPHPの詳細な言語仕様を学ぶなりして、エンジニアとしてのスキルの幅を広げておいたほうがいいだろう。
まず、あなたがプログラミングというものを習得してみたい場合なら、職業選択的にいっても、PHPを学んで損をするということは無いだろう。
参考までにHello Worldは次のような書き方になる。
1 2 3 |
<?php echo "Hello World"; ?> |
選ぶならどっち?
もしあなたが、プログラミング初心者で今後プログラマとして生きていきたいと考えているなら、もしあなたが、Webサービスを開発しているような会社で一般的なプログラマとして働きたいと考えているなら、
職業選択はその時代の需要と供給に大きく影響される。PerlかPHPどちらか?というならば、迷わず圧倒的に今、時代に必要とされているのはPHPだ。
もしあなたが、サーバエンジニアで、大規模なアプリケーションを開発するよりも日々のログ精査やテキスト処理などを求められる仕事につきたいと考えているなら、もしあなたの、働く職場がPHPを毛嫌いしていてPerlばかりの開発ならば、選ぶのはPerlがいいだろう。
要は、自分がどんな理由で、どんな用途としてプログラミングスキルを使いたいかによって、選択するプログラミング言語は変わり得る、ということだ。
まとめ
このページでは「PHPとPerlの違いとは?」ということで、言語自体の細かい比較よりも、どちらかというと、何に使えて今はどうかという「現在」にスポットを当てた比較とした。
- Perlは、昔に比べれば利用は減ったが今も現役で使われているベテラン言語
- PHPは、Webアプリケーションを開発するなら定番の言語
プログラミング言語は、どんどん改良されているし、新しい言語も誕生している。
その時その時で、何が求められているかを見極めながら言語選択をして、これからのプログラミング人生に役立てて欲しい。
世の中の人はあなたが何を使っているかよりも、何を作っているかで見ている。でも、あなたが何かを作ろうと思う時、助けてくれるのは、自らが選択したその言語だ。
おお。深いですね。
平素よりご愛読いただきありがとうございます。
引き続き、ご愛読のほどよろしくお願いいたします。