人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

WEBアプリケーションを作る上での言語選択で質問があります。
WEB制作というとPHPなんかが主流になっていると思うのですが、
処理速度で考えると別の言語を選択した方がいいような気もしています。

PHPは学習コストが低いという利点がありますが、
PHP5からオブジェクト指向のような書き方が主流になってきているようで、
どうせオブジェクト指向の書き方を覚えるなら、
JAVAでWEB制作したほうがいいんではないのか?と考えてしまいます。

WEB開発のスピードとしてはPHPとJAVAのどちらのほうが利点があるのでしょうか?
また、WEB開発において処理速度、開発スピード、ある程度の安定性を兼ねた夢の様な?言語などありましたら情報を頂きたいなと思います。

●質問者: k-motoyan
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 心は萌え
ベストアンサー

のような・・・に大きな差があります。

厳密な定義と厳密な書き方など 厳密に厳密にやっていく手法が好きならばJavaを
ラフにいわゆるカウボーイのようにプログラムをするのが好きならPHP

を選んだほうがよいかと思います。

ちなみにJavaであれPHPであれ、同じアルゴリズムであれば、およそ同じ処理時間になります。
PHPが遅いのはPHPが遅いわけではなく、開発効率を重視したフレームワークの利用がボトルネックとなって遅くなっているだけです。
その他の言語についても言語自体の速度差という物は有意義な差になるというデーターは出ていません。
ただし 有償などの特殊なJavaサーバー PHPコンパイラを使った場合は、言語性能ではなく、そのソフトの特性として差が出ることはあります。

また、言語の選び方は宗教といわれるように 本当に好き好きです。
少し使ってみて、自分にあった 言語をお使いに成るのが一番だと思います。

サーバー構成を除外してあくまでも言語について比較すれば

WEB開発において処理速度 は 使っているアルゴリズムに依存します。ようするにどうやって書くか構造論の問題であり、言語の問題ではありません。

ただ、感覚論としては、Javaは処理速度よりも書き方の厳密性にこだわった言語ではあるので、そういった情報がWebに多いので、苦労する可能性はあります。PHPに関してはニュートラルです。

開発スピードは言語より どのフレームワークを使うか?ですね。
お好きなフレームワークを選んで、使いたいフレームワークがある方を選ぶと良いかもしれません。
Google AppsなどではまともなPHP環境は無いのでJavaになるなどの選び方です。

安定性 については 書き方の問題を除けば 長く使われているのでどちらも不安定ということはないと思いますが Javaの方が書き方にこだわるので 安定していると言え無くもないと思います。



いちおうひと通り書きましたが・・・ 正直 趣味の問題だと思います。


k-motoyanさんのコメント
ご回答有難うございます。 私の勉強不足で申し訳無いのですが、 >>JavaであれPHPであれ、同じアルゴリズムであれば、およそ同じ処理時間になります という点が気になりました。 JAVAであれば実行時の状態がコンパイルされた状態となり、 そのまま実行でき、 PHPであれば実行時にコンパイルが行われるので、 JAVAと比較してコンパイルにかかる時間が処理速度の差に現れるという認識なのですが… WEB開発に話を限定してしまっているので、 JAVAであればテンプレートの処理にJSPを利用することなどがあり、 アプリケーションを開発するトータルのアーキテクチャで考えると、 言語間での速度差には差が無くなってくるということなのでしょうか?

心は萌えさんのコメント
JAVAでいうとこのコンパイルは パースのことですか? 広義でコンパイルという単語は合っていると思いますが 本来 コンパイルはコンパイラとセットで コンパイラというものは直接実行可能な機会言語を吐き出すものなので、JAVAコードを吐き出すものをコンパイルと呼んでいいかは使い方によると思います。 原理的にはJavaはインタプリタなのでJITを除けば機械語へはコンパイルはされません。 JITが影響するのは数値演算系ですが、Webサービスの処理の中心はIOやDBであり数値演算ではありません。 よって、差があっても有意義な差にならない。という事です。 また、JITのオーバーヘッドも0ではありませんし PHPには パース済みのコードをキャッシュする仕組みもあります。 もともとJAVAもPHPも インタプリタ系の言語なので構造上の速度差というのは有意義にはありません。JITにしろPHPのキャッシュにしろ 環境から来る速度差であり言語から来る速度差ではありません。 もちろんJAVAをコンパイルしてマシン語のコードにすることも出来なくは無いですが・・・それはWeb的な開発ではないでしょう。 つまり、2つの言語の差はインタプリタの性能差であり、JAVA PHPの言語差ではありませんしPHPも中間コードのままという仕組みはあるという前提で、インタプリタにそこまで大きな性能差があるという事は聞いたことが無いです。 そして前述のようにWeb処理の過半はIOとDBに偏ってくるので 有意義な差にはならず 同一言語感における 速度差は 主に フレームワークの冗長性の問題ですので、開発効率とバーターだと思われます。

心は萌えさんのコメント
補足になりますが 速度差はプログラマーの腕の差の方がよほど大きく影響してきます。

k-motoyanさんのコメント
素早い回答有難うございます。 今まで中間コードというものを勘違いしていました… 確かにWEBサービスの処理はIOがメインで、 複雑な演算処理はあまり見かけません。 とすると、言語の選択は出回っているフレームワークによって 判断したほうがよさそうなのですね。 あるいは、自分の得意な言語で利用できるフレームワークを作ってしまうとか… >>補足になりますが 速度差はプログラマーの腕の差の方がよほど大きく影響してきます。 自分の書いたコードが処理のボトルネックにならないように今後精進していきたいと思います; 勉強になる回答や追加コメントなど有難うございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ