1)最近はPHPのサーバーサイドを使った企業が増えていると思いますが、これは生産性が高いからだと思います。
では、生産性の低いJavaにもサーバーサイドとして使われる企業も少なくないのは、どうしてでしょうか?
生産性の低いJavaがそこまで需要が高い理由を教えてください。
やはり、型の甘さと厳しさというところが大きいでしょうか?
2)大規模なデータベースを扱うとしたら、PHPとJavaのどちらが良いでしょうか?
3)ショッピングサイトで顧客の金銭的な管理を使うとしたら、PHPとJavaのどちらが良いでしょうか?
一応PHPで顧客の金銭的な管理をしているところもあるようですが、本当にPHPで大丈夫でしょうか?
4)私はWeb開発において、JavaとPHPはWebサイトについて、どういった目的で開発されるか、その目的と理由が全く分かりません。また、個人的な範囲でのWeb開発だけだとしたら、PHPを学ぶだけでも十分でしょうか? Javaを学ばなくても逆に困ることはないように思えますが…。どうしてもJavaはWeb開発に必要なさそうに思えますが…。
1)最近はPHPのサーバーサイドを使った企業が増えていると思いますが、これは生産性が高いからだと思います。
フロントエンドでPHP適用例が増えているだけです。
goodvn さんが回答しているように、保守の面を考えると、PHPの方が生産性が高いとは言えません。
2)大規模なデータベースを扱うとしたら、PHPとJavaのどちらが良いでしょうか?
規模というより、利用するDBMSに依存します。
生産性、とくに保守性の観点から、DBアクセスには何らかのフレームワークを利用するのが定石になっています。
OracleやDB2を利用するのであれば、Javaの方がフレームワークが充実しています。
MySQLやPostgreSQLを選択する場合であれば、PHPとJavaのどちらでもいいでしょう。
MS SQL Serverを利用するのであれば、.NETが第一選択肢となります。
3)ショッピングサイトで顧客の金銭的な管理を使うとしたら、PHPとJavaのどちらが良いでしょうか?
どちらでも構いません。JavaではできてPHPでは実装できないセキュリティ設計というのは、考えられませんので。
4)個人的な範囲でのWeb開発だけだとしたら、PHPを学ぶだけでも十分でしょうか? どうしてもJavaはWeb開発に必要なさそうに思えますが…。
十分です。
2)で述べたように、基幹系システムではJavaのフレームワークに一日の長があります。
勘定系のようなバックエンドはJavaで、ECサイトのようなフロントエンドはPHPで書くということは、よく行われます。また、DBアクセスで高速化が必要な部分のみ専用言語(例:OracleのPro*C)で書くこともあります。
今日、大規模なシステムを1つの言語だけで開発するということは、あまりありません。
Webアーキテクトやプロジェクトマネージャを目指すのであれば、一通りの言語の経験を積んだ方がいいと思いますが、フロントエンドしかないような個人的なサイトであれば、PHPで十分と言えます。
システムは,開発する費用より,保守する費用が掛かります
保守性を考えたとき,システムの規模と用途,使用期間などから,最適なミドルウェアや言語の選定を行っていきます
ウェブサービスの場合,開発速度が優先され,ライフサイクルが短いですから,PHP が適しているという判断はあるでしょう.開発にはプログラム的に高度な知識も要求されないですから,単価の安い PHP プログラマを使えます
業務系になると,ある程度の期間は保守する前提となります.この場合,PHP は保守性が高いとは言えないので,Java という選択肢が出てきます.Java もプログラマ人口が多く,言語仕様から人数の多い開発に向いているので,開発面でもメリットがあると思います
大規模なデータベースというのが,どれくらいの規模を想定されているのか分からないのですが,例えば mixi はかなりの台数のデータベースサーバとして MySQL が使われ,客観的には大規模なデータベースだと思いますが,それを取り扱うプログラムには,言語として Perl を使っていると言われています.PHP でも可能だし,Java でも可能でしょう
水平,垂直分散を含めてDBサーバ数台程度なら,どの言語が向き,不向きは特に無いと思います
金銭的な管理というのは,セキュリティ的な視点での向き不向きと思われますが,これも言語の問題ではないですから,PHP だから大丈夫じゃない,という説明は難しいと思います.ただし,PHP の場合,セキュリティ的な知識やスキルが不足したプログラマでも書けてしまう場合が多いので,人間的な理由で脆弱性が出そうです.ただし,これは Java にも言えます
言語云々より,セキュリティに精通した SE がきちんと設計を行った上で,プログラマのコードを精査していくことが重要だと思います.その SE が Java が得意であれば,Java を使えばよいと思います
個人レベルのウェブサービスで,Java のメリットを感じることは難しいかもしれませんが,ウェブサービス全体で要らないか,と言われると,要らないとは言い切れないと思います
ご回答ありがとうございました。
参考にさせていただきます。
Javaは基幹系業務、企業向けの言語で、PHPはWebサービス向けの言語だと分かりました。
1)最近はPHPのサーバーサイドを使った企業が増えていると思いますが、これは生産性が高いからだと思います。
フロントエンドでPHP適用例が増えているだけです。
goodvn さんが回答しているように、保守の面を考えると、PHPの方が生産性が高いとは言えません。
2)大規模なデータベースを扱うとしたら、PHPとJavaのどちらが良いでしょうか?
規模というより、利用するDBMSに依存します。
生産性、とくに保守性の観点から、DBアクセスには何らかのフレームワークを利用するのが定石になっています。
OracleやDB2を利用するのであれば、Javaの方がフレームワークが充実しています。
MySQLやPostgreSQLを選択する場合であれば、PHPとJavaのどちらでもいいでしょう。
MS SQL Serverを利用するのであれば、.NETが第一選択肢となります。
3)ショッピングサイトで顧客の金銭的な管理を使うとしたら、PHPとJavaのどちらが良いでしょうか?
どちらでも構いません。JavaではできてPHPでは実装できないセキュリティ設計というのは、考えられませんので。
4)個人的な範囲でのWeb開発だけだとしたら、PHPを学ぶだけでも十分でしょうか? どうしてもJavaはWeb開発に必要なさそうに思えますが…。
十分です。
2)で述べたように、基幹系システムではJavaのフレームワークに一日の長があります。
勘定系のようなバックエンドはJavaで、ECサイトのようなフロントエンドはPHPで書くということは、よく行われます。また、DBアクセスで高速化が必要な部分のみ専用言語(例:OracleのPro*C)で書くこともあります。
今日、大規模なシステムを1つの言語だけで開発するということは、あまりありません。
Webアーキテクトやプロジェクトマネージャを目指すのであれば、一通りの言語の経験を積んだ方がいいと思いますが、フロントエンドしかないような個人的なサイトであれば、PHPで十分と言えます。
ご回答ありがとうございました。
参考にさせていただきます。
フロントエンドがPHPでバックエンドがJavaである点が大変参考になりました。大容量のデータベースに膨大な計算を用いることは、やはりJavaが必要ですね。
1) Javaの生産性は低くないです。
PHPがゆるやかで適当に書いても動くので初心者、少人数でやるのに簡単なだけです。
2)どちらでも良いです。
PHPの場合MySQLが普通だと思いますが、
Javaならとくに意識するレベルにDBは無いです。
3)問題があればすでに廃れているでしょう。。
セキュリティはどちらかと言うと実装が影響します。
4)個人的な範囲ではPHPで十分です。
また個人的な範囲でJavaでもいいと思います。
複数人で開発するなら自分としてはJavaがいいと思ってます。
ご回答ありがとうございました。
参考にさせていただきます。
個人的にもJavaは全く必要ないとは言い切れませんね。私はJavaはやったことがありませんが、PHPとActionScript3.0をやったことがありますが、ActionScript3.0は完全オブジェクト指向言語で型が厳しいという点で一見PHPより使いにくそうに見えるが、実際にやってみるとActionScript3.0の方が使いやすいように思えます。私としては、ActionScript3.0はJavaと似ていると思います。
ご回答ありがとうございました。
参考にさせていただきます。
フロントエンドがPHPでバックエンドがJavaである点が大変参考になりました。大容量のデータベースに膨大な計算を用いることは、やはりJavaが必要ですね。