
phpとJava(Servlet等)のメリット、デメリットを模索しています。
調べているとServletは
1.phpなど他のサーバサイド言語と比較して高速で動く代わりにメモリの消費量が大きい
(※ だからレンタルサーバの多くはServletをサポートしていない)
2.Servletの方が堅牢なWebアプリケーションを作成できる。
と謳っているサイトが数多くありました。
しかし、下記サイトの実験結果ではphpの方が早く動くという結果が出ているようです。(ちょっと古いですが‥
http://www.gitc.pref.nagano.lg.jp/joho/kaisetsu/ …
上記サイトの実験結果はさておき、一般的にJavaの方が高速に動作すると本当に言えるのでしょうか?
また、「堅牢な」とは何を以ってServletのほうが堅牢と言えるのでしょうか?
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
Javaで仕事してます。
サイトのソースを見ましたが、Javaのソースはあんまりきれいでは無かったです。
そのせいで遅いかも。
あとはJavaのバージョンがあがって最適化が行われて、いくらか早くなっています。
ちなみに新しい結果だとこんな感じです
http://www.thinkit.co.jp/cert/compare/2/4/2.htm
堅牢さですが、
Javaは結構しっかり書かないと動きませんが、PHPはちょっと適当なところがあっても動いたりします。
そういった意味では堅牢だと思います。
しかし、どの言語を使ってもきっちり書かなければセキュリティーホールの原因になります。
でも、理解して使っている人にとってはどちらも対して差は無いでしょう。
あとは好みと注文しだいでしょうか。
ちなみにServletが堅牢と言うのは少し違和感があります。
Servlet + JSP (JSPタグ利用) でHTMLの値表示を堅牢に。
Javaの言語使用で間違った型に間違った計算がされない堅牢さ。
DBのSQL問い合わせで?とパラメータを指定してクエリを投げることで、SQLインジェクションが起きない堅牢さ。
等でしょうか。Servletだけでは正直、全然堅牢じゃないです。
No.2
- 回答日時:
Javaは、画面にSwingやjava appletを使用していれば表示されるのが遅いです。
PHPは、HTMLの中にPHPのコードを埋め込んでいるだけです。
JavaにもJSPを使用するば同じことができます。
フレームワークを使用するときは、JSPとは、タグの記述が違います。
Javaの場合は、商用で使用するときは、データベースにOracleを使用する案件しか聞いたことがないです。
一方、PHPの方は、MySQLが多いと思います。
レンタルサーバでデータベースにOracleを使用しているところは、
私は、知りません。
堅牢なアプリケーションのシステムということですが、
JavaはMVCモデルという作り方をしているのでそういうことだと思います。
でも、PHPでもそういう考え方はあります。
OracleのほうがMySQLよりCPUやメモリ消費が多いと思います。
Javaは、社内で使用する業務システム。
PHPは、一般向けに公開するシステムという位置づけなのではないかと思います。
Javaは、classファイルを作成してwarやearファイルにしてアプリケーションサーバーにデプロイしないと実行できません。
その分手間がかかります。
一方、PHPは、テキストエディタなどで編集すれば、ブラウザにアクセスして実行してすぐに確かめることができる手軽さがメリットだと思います。
データベースやアプリケーションサーバーに何を使用するのかや
データベースのコネクションの部分はどんな技術を使用するのかは、いろいろ組み合わせがあると思います。
また、フレームワークを使用するのかも考慮にいれると思います。
それらの組み合わせによってパフォーマンスが変わると思います。
実験結果の内容は、古いバージョンの結果です。
新しいバージョンでは、改良が加えられて速くなっているはずです。
私は、以前は参照系はMySQL,更新系はPostgreSQLという考え方でしたが、PostgreSQLのバージョンが上がって速くなっているという記事をどこかで読んだ記憶があります。
今どんな技術が使われていて、どちらの方が需要が多いかは、派遣の求人内容をみればわかると思います。
Javaの方が勉強することが多いような気がします。
勉強がんばってください。
No.1
- 回答日時:
こんちゃ
プロの端くれの20年ものの出がらしでございます。
まあ、正直、その辺は状況によるんじゃないかな?
と思います。
似たようなことを先日後輩にも聞かれましたが、
以外に個々人で認識に相違があるので、逆にそういう勉強会とかには
いきました?
こういう場で聞くよりも、プロ同士の意見交換はいい意味でも刺激
になりますから、一度見てみるといいと思いますよ。
私の答えは、そうともいえるし、違うともいえるですな。
最善と最適が違うようにどっちが優れているではなく、
どっちがこの案件で有用かを自分で考える。
このプロセスが大切なんですよ。矛盾してるけど。
(こないだ聞かれたときにこう答えればよかったなぁ)
答えになっていないので、不満に感じるかも知れませんが、
考えて見てくださいな。
がんばって
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAの「for i=1 to cells(…」...
-
javaで作れるもの
-
アルゴリズムの本
-
Excel VBAマクロをマスターする...
-
2ショットチャットができるHP...
-
vba クリップボードクリアにつ...
-
unzip32.dllの利用について(64b...
-
2冊目のJAVA本
-
リアルプレイヤーの古い(以前...
-
ActivePerlの旧バージョンのダ...
-
MSCOMCTL.OCXのアップデートの方法
-
マイクラ1.7.10にcutallなどが...
-
カレンダー機能にカーソルをつ...
-
「2次方程式ax2+bx+c=0の係数を...
-
エクリプスのプログラミングに...
-
Javaに向いてない人はどんな人...
-
パソコンに詳しいかたお願いします
-
javaのジェネリックスでTとEの...
-
WebSphereについて
-
業務でC言語の開発環境は?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MSFormsとは何ですか?
-
VBAの「for i=1 to cells(…」...
-
データベースのデータをTextBox...
-
XMLとUMLの相違点?
-
ちょっと特異ですが
-
Excel VBAマクロをマスターする...
-
超恥愚問ですが、CとC++の間に...
-
エクセルVBAを動かすノートPC...
-
C言語の勉強方法を教えて下さい
-
サーブレットで電卓をつくる
-
SQLの勉強がしたい
-
読んで楽しいプログラムを探し...
-
php、Java(Servlet等)の両方を...
-
HTMLはどうのように勉強するん...
-
プログラムの勉強方法
-
java を使って、働いている人へ
-
http://www.mgame.com/ このペ...
-
jQueryの本を探しています。
-
eclipseが開きません。
-
VC++解説書(入門書)でオスス...
おすすめ情報