phpとJava(Servlet等)のメリット、デメリットを模索しています。
調べているとServletは
1.phpなど他のサーバサイド言語と比較して高速で動く代わりにメモリの消費量が大きい
(※ だからレンタルサーバの多くはServletをサポートしていない)
2.Servletの方が堅牢なWebアプリケーションを作成できる。
と謳っているサイトが数多くありました。
しかし、下記サイトの実験結果ではphpの方が早く動くという結果が出ているようです。(ちょっと古いですが‥
http://www.gitc.pref.nagano.lg.jp/joho/kaisetsu/ …
上記サイトの実験結果はさておき、一般的にJavaの方が高速に動作すると本当に言えるのでしょうか?
また、「堅牢な」とは何を以ってServletのほうが堅牢と言えるのでしょうか?
よろしくお願いします。
No.1
- 回答日時:
こんちゃ
プロの端くれの20年ものの出がらしでございます。
まあ、正直、その辺は状況によるんじゃないかな?
と思います。
似たようなことを先日後輩にも聞かれましたが、
以外に個々人で認識に相違があるので、逆にそういう勉強会とかには
いきました?
こういう場で聞くよりも、プロ同士の意見交換はいい意味でも刺激
になりますから、一度見てみるといいと思いますよ。
私の答えは、そうともいえるし、違うともいえるですな。
最善と最適が違うようにどっちが優れているではなく、
どっちがこの案件で有用かを自分で考える。
このプロセスが大切なんですよ。矛盾してるけど。
(こないだ聞かれたときにこう答えればよかったなぁ)
答えになっていないので、不満に感じるかも知れませんが、
考えて見てくださいな。
がんばって
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.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だけでは正直、全然堅牢じゃないです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング プログラマの仕事内容 4 2022/08/13 00:34
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- UNIX・Linux ubuntuのサーバー(virtual box)が、再起動するとデータが消えてしまいます。 4 2022/04/27 21:29
- PHP WordpressのPHPを安全に編集する方法 1 2022/08/04 01:43
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- BTOパソコン PCの選び方 6 2022/09/11 00:16
- Web・クリエイティブ 創作活動について質問です。 ・自分が過去に虐められたり人間関係で悩んで部活やクラスで孤立した経験等を 2 2022/10/10 22:14
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- その他(IT・Webサービス) 動画が多い(容量が多い)Webサイト作成 1 2023/04/08 17:42
- Ruby プログラミング講師はまだ需要ありますでしょうか? 1 2022/11/07 19:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サーブレットで電卓をつくる
-
JSPとサーブレットは両方勉強す...
-
データベースのデータをTextBox...
-
質問です。 Java言語を勉強出来...
-
XMLとUMLの相違点?
-
C++ですごろくゲーム作成
-
占いサイトを作りたいのですが...
-
VBAの「for i=1 to cells(…」...
-
エクセル VBA の用語一覧について
-
独学でCやC++を勉強するのに役...
-
エクセルVBAを動かすノートPC...
-
visual C++6.0でC言語の勉強は...
-
VBの勉強方法(WPF)
-
独学でDreamweaver...
-
MSFormsとは何ですか?
-
VB.NETについて教えてください
-
プログラム勉強
-
JavaプログラムでYahooの検索結...
-
VC#とVC#.NETの違い
-
vba クリップボードクリアにつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MSFormsとは何ですか?
-
VBAの「for i=1 to cells(…」...
-
データベースのデータをTextBox...
-
Pythonを勉強する道のり
-
XMLとUMLの相違点?
-
エクセルVBAを動かすノートPC...
-
質問です。 Java言語を勉強出来...
-
Fortranのmakefileについて
-
サイト訪問者の情報を取得したい
-
C#とDelphiの違いについて
-
超恥愚問ですが、CとC++の間に...
-
Excel VBAマクロをマスターする...
-
画像編集ソフトの作り方
-
2ショットチャットができるHP...
-
pythonでの掲示板作成
-
Java Struts メッセージリソー...
-
サーブレットで電卓をつくる
-
C++ですごろくゲーム作成
-
助けでください!!!!!!!...
-
エクセルでガントチャート
おすすめ情報