• ベストアンサー

perl PHP C++ それぞれのメリット、デメリット

現在CGIを設置したく、勉強をはじめようとしています。 そこでperlとPHPのどちらにしようか考えていたところ、C/C++も使えると知り、基礎的なことだけですが経験のあるC++を使おうかどうか迷っています。しかし、それぞれのメリット・デメリットを知り、それを踏まえた上で使用言語を判断したいので、今回質問させていただきました。 それぞれの言語のできることやできないこと、速度などの違い、習得のしやすさ、柔軟性など、様々な観点からのメリットとデメリットを教えていただけると幸いです。 ちなみに、ただ掲示板なんかを設置したいというわけではなく、最終的には様々な用途に対応できるよう技術力を磨き勉強したいと考えています。 検索するとperlとPHPの比較はあっても、C++まで比較対象にいれてるサイトがなく、わからなかったので質問させていただきました。 よろしくお願いします。

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

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.1

CGI というのは入出力ができる言語であれば何でも作成できます。 例えシェルであっても、Pythonであっても、Rubyであっても、Javaであっても。 で、まずC/C++のメリットとデメリットを理解されていますか? 大胆ながら挙げてみますとこんな感じでしょうか。 メリット: - コンパイルしてから実行するため動作が高速 - OSレベルの細かいところまで制御可能 デメリット: - 文字列の扱いが面倒 - コンパイルが必要 - セキュリティホールを生みやすい CGIの場合はフォームに入力された値を解析するところから 始まるので、上記のうち「文字列の扱いが面倒」というのは 重大な欠点となります。また、メモリの細部まで制御できる ため、「セキュリティホールを生みやすい」(特にバッファ オーバーフロー)という非常に重大な欠点を持っています。 なので、高度なパフォーマンスを要求される場合を除いて C/C++が使われることはあまりないと言ってよいと思います。 PHP と Perl については、Web のみを勉強の目的とするのであれば どちらでもよいと思います。ただし、OS (例えばLinux) もあわせて 勉強したいというのであれば、Web 以外のところでも使われることが 多い Perl をお勧めします。 余談ですが、PHP は CGI の言語として使用されることは少なく、 多くの場合は Apache などの Web サーバにモジュールとして 組み込むことによって使用されます。ですから、CGI に特化したい という場合も Perl をお勧めします。

3104kita
質問者

お礼

詳しく教えていただきどうもありがとうございました。 回答を読ませていただき、perlをつかっていくことにしました。 どうもありがとうございました。

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

その他の回答 (1)

  • torntorn
  • ベストアンサー率22% (19/84)
回答No.2

・習得 Perl = PHP > C/C++ C/C++の場合ポインタがひとつのネックになってこれが理解できれば早いけどこれが理解できないとドツボにはまってしまって自滅。 ・柔軟性 C/C++ > Perl >= PHP PerlとPHPでできることはほぼ同じです。 C/C++はOSの制御からOSそのものの開発までいろいろできます。 そもそも一つの言語ですべてやるプロはいません。 適材適所で言語を使い分ける。 一芸のプログラマはダメですね。(その一芸が他の人の数倍すごいなら別ですが) 言語的には構文の書き方などPHPとC言語は似ています。 Perlは独自路線な構文の書き方です。 C/C++は環境毎(OS)にコンパイルし直す必要があります。 レンタルサーバではセキュリティー的にC/C++で作られたCGIの動作は許していない場合がよくありますし 許可している場合でもローカルにレンタルサーバと同じ環境をコンパイル環境として用意しておく必要があります。 その点PerlやPHPはインタプリタですからコンパイルの必要はありません。 >高度なパフォーマンスを要求される場合を除いて >C/C++が使われることはあまりないと言ってよいと思います。 PHPに関して言えばPEARというPHPで書かれたPEARというモジュール意外に 速度を求める物に対してCで書かれたPECLと言うモジュール集があります。 必要があれば自分で開発して登録してもいいでしょう。 PECLで開発されたモジュールも有用な物などはPHPに標準的に組み込まれる物もあります。

3104kita
質問者

お礼

最終的には色々とできないといけないんですね。 ですが、始めはperlからはじめていくことにしました。余裕がでたらPHPやCなども改めて勉強していくことにします。 どうもありがとうございました。

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

関連するQ&A

  • perlとphpの違いについて

    perlとphpの違いについて perlとphpのどちらを学ぼうかまよっているのですが、それぞれのメリットデメリットについての比較は調べたものの、perlでできてphpでできないことやphpでできてperlでできないことについてよく分かりません。 どなたかご教示いただけますと大変助かります。よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • PHPでメールフォームを作るのは一般的なのですか?

    サイトでメールフォームや掲示板を作りたいと思い、CGI(Perl)の本を買って読んでみたのですが、C言語を少しやっていた私としてはPerlの記述が少々身に合わないと思いました。 そこで、PHPでも同じようにメールフォームや掲示板というのは一般的に使われているのでしょうか?勉強する上でPerlでメールフォームや掲示板という参考書はたくさんあったのですが、私の通っている本屋ではPHPでそのような本がありませんでした。 いずれデータベースもやりたいと思い、またC言語っぽいPHPのほうが勉強しやすいと思い、PHPでメールフォームなどを作りたいのですが、Perlとの違いや注意点などありますか? またお勧めのPHPの書籍やサイトを教えてください。よろしくお願いします。

    • ベストアンサー
    • PHP
  • Java言語、C言語のメリット・デメリットについて

    初歩的な質問で大変申し訳ございません。 これからC言語もしくはJava言語のどちらかを勉強しようと 考えています。 それぞれの言語において、使用する上でのメリット・デメリットは あるのでしょうか? どなたか教えていただけますか?

  • CGIでPHPではなくPerlを使っている理由はなんですか

    私は昔Perlを独習してカウンタがつくれる程度だったのですが、最近勉強しなおして掲示板やHTML編集に使ってます。 しかし最近PHPというものがでてきて、WEBならPHPだと言われるようになりました。 しかしPerlを使っているので、どうしてもPHPを一から勉強する気になれなく、ずるずるといっています。 CGIでPerlを使っている人は、それ以外で、PHPよりPerlのほうがここがいいから使っている、もしくは、こうこうこういう理由でPHPに乗り換える必要がない、という方はおられますか?

    • ベストアンサー
    • Perl
  • CとPerlどれくらい違うか?

    すでにPerlで書いてあるCGIを C言語で書き直そうか検討中です。 そこで質問なのですが・・・ (1)「CのCGIは速い」とよく書いてありますが、 どれくらい速くて、どれくらいサーバの負担を軽減できるのでしょうか。 (2)実際に計測する方法はありますか?

    • ベストアンサー
    • CGI
  • PHPがあればCGIは使わない

    掲示板を作ってみたいです。 とりあえず仕事に使うわけでもないし、あくまで趣味の範囲なので覚えやすいと言われるPHPを勉強してみようと思いました。 昔から掲示板作りにはCGIというものが必要というイメージがあり、CGIを勉強できる本を探したところ、Perlとセットのタイトルを持つ本ばかりで「CGI/PHP入門」みたいなのはありませんでした。 もしかしてPerlで掲示板を作るにはCGIが必要と言うだけで、PHPなら単独で掲示板が作れるのでCGIは必要ないということなんでしょうか?

    • ベストアンサー
    • PHP
  • C#でできてC++でできないことは?(C#のメリットとは?)

    これから新しい言語として、C#もしくはC++の勉強をしたいと 考えています。 C#にできてC++にできないこと、あるいはその逆でC++にはできて C#ではできない。ということがあれば、教えていただけないでしょうか? 感覚としてはC++であれば何でもできるという感じではあるのですが、 C#を使うメリットってどんなことがありますか? やはり、ビジュアル開発(コントロールのDrag&Dropで画面開発ができる) の簡単さというところがC#でのメリットでしょうか? ちなみに私はこれまで、C -> VB -> Java といった順で言語を習得 してきました。

  • PHPとかperlとかrubyとか

    質問させていただきます。 プログラミング言語を学ぼうと思っています。 ありがちな質問ですが、言語の特徴などを伺いたいと思います。 PHPはWEBに特化した言語だと聞きました。 あとperlはテキスト処理だけでどうも、、、って話も。 rubyはまだプログラムの話で出てこないことも多い。 やりたいことがあっての言語なのは承知しています。 WEBやデータベース、スタンドアロン?の簡単なソフト開発とか、いろいろやりたいことは多いです。 最初に目をつけた敷居が低いとされるWEBに特化したPHPはソフト開発には向かないらしいし、偏ったものもどうかと思ってます。 でも次の言語にJAVAを考えていて(JAVAは習得が難しいと聞きましたので)、PHPはJAVAに多少似ているってどっかのサイトで見ました。たぶん賛否両論はあるでしょうが。 別にWEBプログラムだからってperlでもrubyでもできるんですよね?だったら偏ったPHPよりperl、rubyの方が書いていて楽しいような気がします。rubyの需要はまだ少なそうですし、perlのテキスト処理だけってのもどうなんだろうと思いますが。そこらへんも聞きたいです。 簡単なゲームとか、顧客管理ソフトとか、WEBとかデータベースとか、できれば敷居が低く楽しめる言語があればと思ってます。

  • CGI-PerlとPHPの速さについて

    CGI-PerlとPHPの比較サイトを見てまわっていたところ、 「PHPは多くのアクセスがあっても(CGIに比べ)サーバへの負荷が少ない」 という内容を見かけました。 一般に「PHPはCGI-Perlより速い」と言われている気がしますが、 もしかしてそれは、アクセスが多数ある場合に限定した話なのだろうか、と疑問に思いました。 ローカルサーバなどで1人~数人しかアクセスしないという環境でも、 同じことが言えるのかどうか知りたいです。お願いします。

  • PerlとphpのCGI版

    Perlは文書に最適化された言語だと今日知りました。 そこで思ったのですが、PerlとphpのCGI版の場合だと ファイルの読み書きなどを考えてみたところ、速度にさほど違いはないのでしょうか? mod_perlとphpのモジュール版の速度は同じくらいだと聞きます となればphpのCGI版はさほど早くなく、Perlと同程度じゃないかと思ったわけです どなたか教えてください!

このQ&Aのポイント
  • 口座の解約方法について知りたい方必見!リテールステーション・クイックステーションでの解約が可能か、または支店への出向きが必要かについて解説します。
  • 常陽銀行のサービス・手続きについて知っていますか?ここでは口座解約に関する情報をご紹介します。リテールステーション・クイックステーションでの解約が可能かどうか、また支店への出向きが必要かについて詳しく解説しています。
  • 口座の解約方法についての疑問をお持ちですか?ご安心ください!こちらでは常陽銀行のサービス・手続きについて詳しく解説しています。口座解約はリテールステーション・クイックステーションで行うことも可能ですが、支店への出向きも必要な場合があります。
回答を見る

専門家に質問してみよう