• ベストアンサー

なにがなにに向いているのか・・・?

ものすごく基礎的な質問なのですが、 Webのプログラム言語のPHPとかJAVAとかPerlといったものは、 それぞれ何をするのに向いている言語なのでしょうか? PHPではこれが出来ない、JAVAだとこれが向いていない、 というような事はあるとは思うのですが、 どんな違いがあるのかがわかりません。

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

  • ベストアンサー
  • dekopa-
  • ベストアンサー率42% (161/378)
回答No.2

Webプログラミング、とあるのでそれに限定して。 どれも動作上は「クライアント(IEとかFireFox)からのhttpリクエストに応じて、Webサーバー上で実行され、主にHTMLを結果として返す」という方式です。 ・Java  企業向き、大規模向きです。事前にコンパイルするタイプで、しかもそのコンパイル時のチェックが割と厳密なので、大規模システムを大勢で作る時に未然にエラーを発見しやすいのが主な理由。 ・Perl, PHP  スクリプト言語、と呼ばれリクエスト時に毎回ソースが解釈される。原理的にはJavaより処理性能が落ちる。 単にWebシステムを作るだけなら、どの言語もそれなりに実績があり、ノウハウの蓄積もあるのでどれを選んでもまともなシステムは作れます。 個人で作るなら、サーバー環境から構築しなければいけない(レンタルサーバーではまず無理)Javaは向いていません。非公開で自宅だけで使うなら別ですが、ちょっと試すならPerlかPHPでしょう。 PerlとPHPの差は言語の差異だけです。ライブラリの規模はほぼ同等と見て良いかと。 個人的にはPHPを勧めます。Perl最大の欠点は、自分が書いたソースさえ1週間後には読み取れなくなるという点です。 Javaとそれ以外は、大勢で作る時の体制の整えやすさの差でしょう。企業サポートもあるし各種チェック用ソフトも揃い、大規模開発の運用ノウハウが広く共有されているのはJavaのメリットです。 あと#1氏の間違いを訂正しておきます。 C#は、VBに近い「Windowsプログラムを簡単に作る」為のものです。.NET Frameworkという環境で動作し、MicrosoftからVisualStudio 2005という開発環境が出ています。この中にVB.NET, C#.NET, VC++.NET等があります。 それとVCは「言語」ではありません。言語的にはC++です。ライブラリや開発環境をあわせて、Windows用プログラムを開発する環境としてのVisualC++という製品があります。略してVC、あるいはVC++です。

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

その他の回答 (7)

回答No.8

修正&追記 修正 アブレット→アプレット 追記 Perl,PHPがサーバサイドでよく使われる理由が インタプリタ言語なのでコンパイルの必要性が無いことが 大きいです。 Cなどコンパイラ言語でもCGIは動かせますが 利用するWebサーバないしは同OSを別途用意してコンパイルする 必要があるため敷居が高くなりますがPerlやPHPなどはその必要性が ありません。 またWebシステムではDBとの組み合わせで利用することが多くありますが その場合Perlでも良いですがPHPできればJAVA(JDBCの存在) の方がDB周りとの組み込みで利用しやすいです。

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

・Perl 文字列処理が得意な言語でその影響からかWebサーバ側でCGIの利用言語の ひとつとして利用される Webサーバのモジュールとして動作させる事も可能。 ・PHP 上記のPHPと似ているがCGIモードで動かすことよりWebサーバの モジュールとして動作させることが多くPerlとして違いHTMLのページの 必要な部分だけをPHPとして記述させる。 ・JAVA クライアントPC側で動作する「アブレット」 サーバ側で動作する「サーブレット,JSP」 サーブレットとJSPの大きな違いは サーブレットはPerlのようにページ全体をJavaで記述 JSPはPHPのように必要な部分だけをJavaで記述してそうでないところは HTMLで記述する。 また、携帯電話でiアプリを作成する言語としても有名です。 >Webのプログラム言語の と質問者が質問しているので >Web以外の用途はばっさり切り捨て、 はしてはいけません。 JAVAアブレットをWebシステムの一部として 使われるシステムもあるからです。 (webmin内のSSH接続ツールなど)

すると、全ての回答が全文表示されます。
  • dekopa-
  • ベストアンサー率42% (161/378)
回答No.6

#2です。#3,#4両氏の指摘はそれはそれで正しいのですが、質問主が混乱するので整理しておきます。 1.プログラム言語的に、サーバー専用、クライアント専用というのは実は殆どありません。Perlは元々sed,awk同様テキスト処理を主な目的としたスクリプト言語で、CGI用に使いやすいので有名になりました。逆にPHPはweb用と紹介されていますが、実際にはクライアント上でも使えます(Webサーバ無しで:メリットはありませんが)。CだってCGIは書けます。実際、C言語で書かれたWebアプリケーションは実在します。 2.両氏が指摘したJavaも同様です。実行環境に応じてクライアントサイドJava、サーバーサイドJavaと呼ばれたりします。ただしJavaは、サーバー用の環境(言語ではなく)として用意されたJ2EEという物もあります。 3.そのうえで、質問には「Webのプログラム言語」とありましたのでWeb以外の用途はばっさり切り捨て、Webに限った上での長所・短所を指摘したのが#2です。 その長所、短所の背景には、#5氏の言うライブラリも含みます。ただし「Webシステムを組むのに十分なライブラリ」は既に揃っているので、追加要素としての「大規模システムを開発・運用できるライブラリや周辺技術」を気にする必要があります。これが現時点で最も優れ・普及しているのがJavaです。 これ以上詳しいところまでつっこんでも字数が足りませんし、一度に理解できる話でもありません(特に大規模向け、というのは実感が湧かない)ので、理解してまだ分からない所は別途質問を投げて下さい。

すると、全ての回答が全文表示されます。
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.5

がると申します。 ちとあまり話をされている方がいらっしゃらないようなので、補足を軽く。 言語自体の特性もあるのですが、それ以上に「その言語で存在するライブラリの類」もまた、非常に重要になります。 例えば、JavaのJ2EEやJ2SE、Struts、Spring、など。 PHPのPEARやSmartyなど。 PerlのCPANなど。 Windows系の.net frameworkなど。 こういった「周囲を固めるもの」も結構重要な要素になります。

すると、全ての回答が全文表示されます。
  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.4

わたくしも横から割り込んで申し訳ございません。 ANo.3さんの補足 HTTP(Web)においてクライアント側で処理される技術は「Java Applet」とよばれ、これとは対照的にサーバ側で処理されるJavaもあります。お買い物サイトなどで「JSP」なる拡張子を持つものがそれです。

すると、全ての回答が全文表示されます。
  • nerosuke
  • ベストアンサー率33% (39/115)
回答No.3

一応#No2さんにつっこんでおくと、 >どれも動作上は「クライアント(IEとかFireFox)からのhttpリクエストに応じて、Webサーバー上で実行され、主にHTMLを結果として返す」という方式です。 JAVAはちがいますよね?あくまで実行はクライアント側の仮想マシンですから。 その他は#No2さんに同意です。 割り込んですいません。

すると、全ての回答が全文表示されます。
noname#150436
noname#150436
回答No.1

・C、C++、C# 主にシステム制御に使われます。 プレステなどもこの言語で作られています。 ・JAVA 主にネットワークで使われます。 インターネットでもHPを作る時には必須となりつつある言語です。 ・HTML、XML タグ言語HP作成のための言語です。 ・Perl、PHP スクリプト言語です。 小型プログラムCGIを作るための言語です。 ・VB、VC これらは通常プログラムと違って非常に簡単です。 プラットフォームがWindows専用のGUI環境で作る事が出来る言語です。 C言語と並び有名な主力言語です。 後こちらのPG言語のページにも解説されています。

参考URL:
http://gokusen.ifdef.jp/
technotris
質問者

補足

有難うございます。なんとなくつかめたような気がします。

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

関連するQ&A