• ベストアンサー

Webアプリにおいて

表示部分をPHP 非表示部分のコアの部分をPerlで組むメリット を教えてください。 すべてPHPでWebアプリを組む場合に比べて 性能・機能においてメリットはあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

http://www.php.gr.jp/ PerlはCGIでの利用でしょうか。 PHPはCGIそれともApacheなどのモジュールとして組み込むのでしょうか。 私が聞いた話ではPHPをモジュールとして組み込めば PerlをCGIとして利用するよりも高速で処理できるというものです。 ただ、うる覚えですが、CGIも高速化させる方法があったと思います。 PerlとPHPで何十倍、何百倍と処理速度に差はないので自分の使い慣れた言語を使うといいと思います。 あとはレンタルサーバによってCGIが使えなかったり、PHPが使えなかったりということがあったと思うので その辺りも関係してくるかもしれません。 定かではない情報ですみません。

reiman
質問者

お礼

ありがとうございます。 通常、PHPはアパッチのモジュールとして使用 PerlはCGIとして使用 という理解は正しいでしょうか? modPerlというのはどのようなものでしょうか?

すると、全ての回答が全文表示されます。

その他の回答 (6)

  • tao_0077
  • ベストアンサー率48% (33/68)
回答No.7

まず、CGI と プログラミング言語がごっちゃになっているようです。CGI はウェブサーバとプログラムの間を取り持つ仕組みのことで、使用するプログラミング言語は何であってもかまいません。ですから、Perl も PHP も C 言語で作成コンパイルしたバイナリも CGI として使用できるわけです。 モジュールは、いわばウェブサーバの一部としてプログラムを実行する仕組みです。別プロセスでプログラムを起動する必要がなく、余計なメモリも使用しないので一般的には CGI より高速といわれます。これもそのウェブサーバ向けのモジュールさえ開発されていれば、プログラミング言語は何であってもかまいません。 で、問題の Perl と PHP、どちらが早いかということですが、CGI 同士、モジュール同士と、同じ土俵であれば Perl に軍配が上がるようです。 PHP は手軽に動的なページを作っていけるので魅力的ですが、最近流行のテンプレートエンジンなど、見た目と制御を別々にコーディングしていく手法(MVC)では、そのアドバンテージは半減するかも知れません。言語体型としては Perl のほうがしっかりしていますし(PHPは時々謎な動作があるし、言語仕様もバージョンアップで変更が多かったりする)、コアの部分だけ、というならそれも一つの解かもしれません。

reiman
質問者

お礼

ありがとうございます。 Perlのほうがいいということですね。

すると、全ての回答が全文表示されます。
回答No.6

No2です。 PHP ⇒ Apacheモジュール Perl ⇒ CGI というのが正しいとは言えないです。 PHPもCGIでの利用はできますし、PerlもApacheモジュールとして 使用できるので臨機応変に対応してください。 modPerlというものがあること自体知りませんでした。 少し調べてみました。 http://home.wi-wi.jp/scripts/log/2006020101/index.html http://www2.big.or.jp/~aikoro/MS/category/modperl.html modPerlはApacheモジュールとしてPerlを利用するためのもののようです。 モジュールとして扱うので速度の向上が見込めます。 modPerlには「mod_perl1.0」と「mod_perl2.0」があり、 Apache1.xでは「mod_perl1.0」をApache2.xでは「mod_perl2.0」を インストールしなければならないようです。 ↑2006年2月の情報 ただし、modPerlは共有サーバ(レンタルサーバのことでしょうか?)での利用はできないようで専用サーバや自前のサーバを用意する必要があるようです。 ↑2005年7月の情報 詳しくはreimanさんご自身でgoogleなどで調べてみてください。

reiman
質問者

お礼

詳しい説明ありがとうございます。

すると、全ての回答が全文表示されます。
回答No.5

実行速度にこだわっているようなので補足すると。 実行速度が大きな問題になるシステムなら、コア部分はC言語や、Javaを使うと思います。 PHPやPerlのようなスクリプト言語はその手軽さと保守のし易さ、それに伴うバグ発生率の低さが利点なので、実行速度が問題になるようなものの開発には向かないと考えます。

reiman
質問者

お礼

ありがとうございます。 小さいシステムだとJavaよりはMODPerlの方が早そうです。

すると、全ての回答が全文表示されます。
回答No.4

おおざっぱに言えば同程度だと思いますよ。 大きく違うという事は聞いた事がないです。 細かく言えばマシン構成やモジュールの組み合わせ、処理内容により、PHPが早かったりPerlが早かったりするかもしれませんがそこまで気にするのであれば両方作って比較するしかないと思います。

reiman
質問者

お礼

ありがとうございます。 参考にします。

すると、全ての回答が全文表示されます。
回答No.3

メリットは特にないような。 新規開発なら、私なら全部PHPにしますね。 まあPerlの方が歴史が長いし、長い分色々ライブラリがあるし(PHPもPEARとかあるんで色々ありますけど)、枯れてるので、もしかしたらコアの大事な部分は信頼性が高い方を選択しようとした可能性はあるかもしれません。 あとは元々Perlで作ってたけど、表示部だけでも簡潔に変更しやすくする為にPHPにしたとか。 補足で、PHPもPerlもWebで利用する場合はApachから実行されるのでApachのモジュールかな。 modPerlは、ApachでPerlを実行するための何かだったと思います。

reiman
質問者

お礼

ありがとうございます。 はやさは同程度なのですね?

すると、全ての回答が全文表示されます。
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

とくにメリットは無いように思えます。 Perlが得意な人がどうしてもPHPで組まなければいけないと言う場合ならばそのようなケースがないとは言い切れませんが、通常は全てどちらかで作るほうがいいです。 性能や機能は作る人の技量や作り方の問題なので言語はあまり関係ありません。 (言語によってこれを作るにはこっちのほうがやりやすいということはありますが、一長一短なので大差ないです)

reiman
質問者

お礼

ありがとうございます。 PHPよりPerlのほうが早いとか その逆のようなことはないでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A