No.2ベストアンサー
- 回答日時:
まず、基本的な事から説明します。
厳密に言うと、「CGI」はプログラムを実行する仕組みを指し、プログラミング言語ではありません。プログラムを実行する仕組みは、他に「モジュール」があります。
プログラミング言語としては、Perl、PHP、C言語、Ruby・・・などが、あります。
昔は、CGI+Perlの組み合わせが多く、CGIといえば Perlでした。
CGI = Perl と誤用されている事も多く、勘違いしている人もい多いですが、厳密に言えば、CGI と Perl は、まったく別の物です。
PHPやモジュールは比較的新しい方法で、最近は、モジュール+PHPの組み合わせも多くなってきています。
しかし、モジュール版のPHPも、便宜上、CGIと呼ばれる事が多いので、話がややこしいです。
まとめると、「CGI」は下記のような広い意味で使われます。
1:Webサーバからプログラムを実行する仕組みの1つ
2:Perlで書かれた、CGIプログラム(又は、Perlそのもの)
3:モジュールを含めた、サーバサイドプログラムの総称
文章を読む場合、「CGI」が何を指しているのか、注意しながら読む必要があります。
-------------------------------------------------------------
自分でサーバーを管理すれば、自由な組み合わせを選択できますが、一般的なプロバイダで利用できるのは下記の組み合わせです。(多いと思われる順)
CGI+Perl
モジュール+PHP
CGI+PHP
モジュール+Perl
つまり、仕組みは「CGI」か「モジュール」、言語は「Perl」か「PHP」となります。
次に、それぞれの違いについて簡単に説明します。
まず、CGIとモジュールの違いですが、CGIの方が処理が重い、モジュールの方が軽い、と言う認識で良いと思います。
モジュールの方が新しい技術で、サーバの負荷を軽減するための物です。細かい点で、メリット、デメリットがありますので、どちらを採用するかはプロバイダ次第です。
次に、PerlとPHPの違いについて。
Perlは古くから有るスクリプト言語です。登場したのは、1987年らしいです。その頃はインターネットもありませんね。Perlはテキスト処理を得意としています。HTMLの中身はテキストなので、CGIとして良く使われて来たのだと思います。
PHPの原型は1995年に作られ、1998年にリリースされたPHP3が現在のPHPに近いものらしいです。PHPは比較的新しい言語で、初めから、HTMLの処理をターゲットに作られています。
両者を比較すると、PHPが後発の新しい言語で、Perlや、他の言語の良い所を色々と取り入れています。初めからHTMLを処理するために作られていますので、その点でもメリットは多いです。現在は、完成度や、普及率の点でも問題ないと思います。
今から勉強するなら、PHPの方をお勧めします。
私は両方使っていますが(PerlからPHPへ乗り換え中です)、PHPの方が便利だと思います
。
HTMLのフォームのデータを処理する、ファイルをアップロードする、データベースを利用する、セッションを管理する・・・など、色々なケースを考えても、PHPの方が簡単にプログラムが書けます。
No.3
- 回答日時:
あー、CGI=Perlと仮定すると、現状でPerlの利点はほぼないです。
ちょっと前までは、Perlの方が過去の資産がたくさんあったのですが、今はそんな事もないかなー。
サーバも、Perlが使える所はPHPも使える所が多いし。
スピードなんかも、少なくとも体感できるほど、差はないと思いますよ。
多くの場合は、遅いのは言語のせいではなく、サーバやネットワーク状況、作り方の3つのうちのどれかが、悪いからです。
すくなくとも、素人が作り始めるのなら、全く関係ない。
分かりやすい利点もPHPの方が多いです。
しいていえば、Perlは・・・とhtmlに埋め込みと、音とか、かなりマニアックな事を書こうとしましたが、やめました。
これから勉強しようと思っているのなら、PHPで問題なしです。
うだうだ質問しないで、PHPの初心者本を買いに走りましょう。w
No.1
- 回答日時:
CGIというのは動的ホームページを作成するための仕組み
全般を指し、それを実現する為にPHP, Perl, javascript
等の言語が多数存在します。
Webサーバーによってどの言語をサポートしているかは異
なりますので、予め確認しておく必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
cgi-binのエラー?
-
Trees掲示板CGI(CGI-Resque氏...
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
チェックボックスでのvalue値の...
-
フォームを再送信しますか?
-
ホームページでCGIのフォームを...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CGIとPHPの違い
-
perlからphpを実行して結果を得...
-
サイトをアクセスした人の所在...
-
CGIに関して
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
VBAでサーバーにアクセスするに...
-
ラジオボタンのグループ化
-
ASPから既存のexcelブックを開...
-
VBScriptで、ファイルから任意...
-
URLに~/cgi-bin/~を隠す方法
-
FTPにて553エラー
-
VBAを使用して、外部サーバのフ...
-
ASP(IIS?)のエラーについて
-
CGIでソースがそのままでてしま...
-
Perlプログラム上でアラートを表示
-
JAVAで別サーバーのファイルの...
-
ApacheでのCGIについての質問
-
特定のCGIだけ、作動するかわり...
-
perlからJavascriptを起動
おすすめ情報