• ベストアンサー

なぜ CGI は Perl 言語で作成/動く環境が多いのか。

最近 CGI に興味をもちここで質問しながらネット検索をしました。 すると Perl 言語での CGI サンプルが一番多く C 言語で作る CGI の サンプルが少し見つかりました。 私の使っている無料サーバーでも CGI は使えますが Perl 言語だけ有効です。 セキュリティの問題で SSI と組み合わせた C 言語の CGI は実行出来ないようです。 質問内容: (1)なぜ CGI は Perl 言語が一番多いのか?→PHP、Cもあるのに (2)なぜ無料サーバーの多くが Perl 言語しか使えないのか? (3)処理の重い CGI を使うとサーバーがダウンするので使わないようにと  私の使っている無料サーバー(infoseek)でなっています。どの程度の  処理のことでしょうか? 上記の3つまたは1つでもアドバイスをして欲しいです。 回答をお待ちしています。

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

  • ベストアンサー
  • maguro999
  • ベストアンサー率21% (59/273)
回答No.3

>(1)なぜ CGI は Perl 言語が一番多いのか?→PHP、Cもあるのに Cのコンパイルはどうする気ですか? 共有型のレンタルサーバでSSHログインができてCのコンパイルまでさせてくれる サービスは自分は知りません。 PHPに関してはサーバの方針でしょうね。 infoseekはinfoseekになる前のfreewebの頃からPerlだけ利用できました。 途中から仕様変更して全サーバに対してPHPをインストールするのは手間でしょうから >(2)なぜ無料サーバーの多くが Perl 言語しか使えないのか? PerlもPHPも使えるサーバも結構ありますよ。 >(3)処理の重い CGI を使うとサーバーがダウンするので使わないようにと 今の利用規約は知りませんが自分の知っているときは 箱庭系、チャット系、CGIゲーム系はだめですね。 >modによりperlの難点であった実行速度も改善されていますし。 CGIモードとmod_perlのそれぞれバージョンで挙動が違うみたいで 普段はあまり利用しないですね。

Oh-Orange
質問者

お礼

回答有り難うございます。 >Cのコンパイルはどうする気ですか? これはアップロードする側がコンパイルして exe をアップすればよいと 安易に考えていただけです。だから C言語、Perl、PHP などがすべて 使えるようにすればと身勝手に考えてしまいました。 サーバー管理者からすれば Perl、PHP の環境を整えるのに手間がかかる事を 忘れていました。全サーバーに PHP などをインストールするんですね。大変だ。 >PerlもPHPも使えるサーバも結構ありますよ。 これは最近になって増えてきたということでしょうかね。 infoseek は Perl だけだね。 本音は CGI を始めるなら PHP を使ってみたかったけど。 >箱庭系、チャット系、CGIゲーム系はだめですね。 具体的な内容を有り難うございます。 チャットって処理が重くなるんですか?知らなかった。 ゲームは処理が重くなるのは分かります。 この回答のおかげでスッキリしました。 有り難うございました。

その他の回答 (2)

回答No.2

1、perlは文字列を処理するために作られた言語です、cgi技術流行った時最もcgiに適した言語です。 2、ほかにもいろいろあると思いますがperlはコンパイルしない解釈実行型言語なので、サーバーのセキュリティー面管理しやすいからでしょう。 3、たぶんメンバー登録時の契約に書いてあります、あんまり重いと怒られます。

Oh-Orange
質問者

お礼

回答有り難うございます。 >1、perlは文字列を処理するために作られた言語です… 文字列処理が優れているという事ですね。 >2、…perlはコンパイルしない解釈実行型言語なので、… なるほどです。 確かにスクリプトの方が手軽です。 >3、たぶんメンバー登録時の契約に書いてあります、あんまり重いと怒られます。 どの程度の処理が重くなるのかを知りたかったのです。 つまりはどんな処理を何秒、何分続けるのはまずいとか。 回答有り難うございました。

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

(1) C言語はコンパイルが必要だし、ポインタで間違ってしまうとOSを巻き込んでクラッシュしてしまう。メモリリークする可能性もある。PHPはperlに比べると新しいので普及に時間がかかる。 (2) perl自体が普及してしまっているので、わざわざPHPに対応する意味が無い。 modによりperlの難点であった実行速度も改善されていますし。

Oh-Orange
質問者

お礼

回答有り難うございます。 >C言語はコンパイルが必要だし、ポインタで間違ってしまうとOSを巻き込んでクラッシュしてしまう。 >メモリリークする可能性もある。PHPはperlに比べると新しいので普及に時間がかかる。 あっ。確かに不正なポインタによる不具合はまずいですね。 メモリリークの事も考えるとスクリプトの方が安全か。 >perl自体が普及してしまっているので、わざわざPHPに対応する意味が無い。 やはりこれが一番大きいんですね。 実行速度も今の時代では特に問題はないね。 すごく分かりやすかったです。→ポインタ…OSを巻き込み…の例えが。 回答有り難うございました。