Java VS PHP
■ このスレッドは過去ログ倉庫に格納されています
どのようなシステムか詳細は不明だが、
PHPでもよほどアクセスが増えなければやっていけるとする。
しかし仮にアクセスが増えた場合はPHPの特性上その対策は限られるし、困難が予想される。
その理由は>>400
最悪、別言語で1から作り直し。 リアルタイムってのがな
できない訳じゃ無いにしろ、選定間違ってるとは思う。無駄大杉
余程の事情なければJAVAで簡単なサーバ立てたほうが適切だろ >>408-409
ありがとうございます
リアルタイムにPHPは向いていないのですね・・・。
調べてみるとJava servletなどでもPHPと同様のことができるようで、
こっちのほうがアクセスの処理や、セキュリティ面でも有利なようですね
アクセスの軽いブログやSNS程度ならばPHPでもいけるようなので、
とりあえず基本としてPHPは覚えておいて、ゲームのリアルタイムサーバには
Java servletを使ってみようと思います PHPはマルチスレッドではないから当然synchronizedも無いんですよね。
>>402さんのやりたいことよくわかりませんが、PHPではほとんど無理と思ったほうがいいです。
速いとかは作れること前提なんだが
学生なら5年くらいはプログラミングで遊んでないと
そのレベルに達しないぞ。
>>411
なんでできないの?できるだろ?
>>402のやりたいことも理解できないくせに
ほざいちゃ駄目。OK? まあ待ったれや
synchronizedとか言い出してる時点でお里が知れるってもんよ。逆になw
動くは動く、方法はあるとかじゃなくてな。JAVA脳だとふつー無理って言うよww
優しい人は「考え得る限りで相当ひどい選択」くらいに留めてくれるだろうけどさ
質問者がservletとか言い出してるので、みんな呆れて放置してるだけだ
まーあれよ、急がば回れっていうしな。 リアルタイムなら、Cでソケットプログラム組むのが最速だし、最善。
JavaとかPHPとか鼻で笑うレベル。 まあブラウザーで興奮しただけのゲーム小僧の妄想が
実現することはないからどうでもいいけどな。
ゲームボーイ「ぼく、ゲームに人生賭けてるんです。(キリッ)」 PHPは言語自体が糞いけど
Javaを何も知らないような人に教えるのは大変。
最近のフレームワークはかなりステップ省略してくれるけど
省略されてるものについて知らないと結局つまるw >>415
もうC言語だけじゃウェブでは食えなくなったね。
だから今、PHやJavaを勉強しているんだね。
周回遅れだけどがんばってね。 rubyはperlの系列
phpはCの系列
pythonはjavaの系列
rubyやperlの構文を簡単と表現するのは間違ってる。
PHPでプログラム初めて3年ぐらいの人間ですが、
シングルトンをPHPでやった場合、オブジェクトを生成するコストが軽減されるから有利って聴いたんだけど、意味ないのかな? >>423
プロセスの範囲内で意味がある。範囲外では意味が無い。 マルチスレッドとマルチプロセスの違いがわかれば効能を理解しやすい。 phpの公式サイトですらシングルトンの意義を疑問視する見方があると警告を発しているのでやはり意味は薄いと考えるべき。 ページを横断できない上に
リクエストが終わったら消えるんだろ?
RDB+memcachedしかキャッシュ作る方法ないって
つらそうだなPHP >>432
cgiかmod_phpか、それ以外か、による。 内部ではこっそりスレッドとプロセスを両方使ってるみたいだが
あれはランタイムの速度の話であって
プログラム上でメモリを扱うときはプロセスのみ。 PHPのメモリ管理は非効率。
結果としてデータベース読み出し回数が多くなる。
やっぱり小規模サイト向け。 開発が楽になるための代償としてそうなったのなら
良かったんだが、単に作りが悪いんだよな>PHP javaはメモリ使うんじゃなくて
JSPがページの静的な部分もメモリのバッファに
キャッシュしておくから消費量が大きいんだと思う。
その分速いと思うけど単純にページが増えるだけで
メモリ消費量がうなぎのぼり。
普通のページはテキストだけで50KB〜100KBだから
オブジェクトにするともう少しメモリが必要だとして
ページ平均100KBと大きめに見積もったとしても
100ページで10MBだな。tomcatやセッションを見積もっても
レンタル鯖は最低256MBくらいメモリ使えるから小規模なら余裕。
レンタル鯖の数が少ない+値段3倍ぐらいなのがネックだが。 PHPの特徴(Javaと比較して)
・アプリケーションスコープが存在しない
・マルチスレッドではなく、マルチプロセスで動作
・シリアライズはバグがあるため、使用に耐えない
・マルチプロセスのためシングルトンは本来の意味をなさない
・OOPはオーバーヘッドをまねく
・コネクションプーリングがない
・インタプリタ方式のため配備が容易である反面、実行が緩慢
・複雑なロジック構築には向かない javaのwebっていわゆるjspってやつだよね
閲覧速度で言ったらPHPの方が早い、javaは遅い JSPも1回目は遅い。でもそれは2回目以降をPHPより速くするためにね。
じゃあ1回目のアクセスじゃなくてサーバー立ち上げたときに最適化しろ
って思うかもしれないだろうけど、そうするとサーバー立ち上げるのに
時間かかるからってことで1回目のアクセス時にそのページだけ
最適化コンパイルが走るしくみ。
javaのwebは全てServletで、JSPはServletのフレームワークみたいなもん。
JSPはPHPのZendと同じように本家が作ったフレームワークだから使っている
人が多いけど、Servletから代替技術を作ることはできる。
JSPはプリコンパイルしてアップすれば一回目から早い。
またソースコードをアップロードする必要がなくなくのでセキュリティ高まる。
PHPは毎回遅い。 PHPの遅さの原因はインタープリタ型ということもあるけど、
メモリ管理が貧弱なのも大きい。
WordPressなんか見るとムダが多すぎて悲惨なレベル。 実際javaのネットショッピング遅いよ。最初の接続なんて超遅い >>446
Java勉強した上で言ってるの?
htmlspecialchars()と同等の機能をサーバーサイドJavaで実現するためには
どうすればよろしいのでしょうか?答えてね。 なんか凄まじい勘違いでめちゃくちゃな誤った情報をばら撒いてるのがいるな・・・
>>441-443,446あたりの方はWebアプリの基礎のキをちゃんと学んでからもの言ってくれ・・・
java知らない奴には分かりやすいだろう?
jsf2でjspつかわなくなったし、言いたいのは
jspに対する不満がjavaに対する不満にならないというだけのこと。 そうかな。java好きだけどな。
確かに自分だけが見て書くならphpでもperlでもいいかもしれないが
他人のphpのソースはひどいものはひどい。
その点javaでちゃんとオブジェクト思考で書いたたとえばstrutsは
見やすい。ちゃんとオブジェクト思考を理解している人が書けばまあ
案外はずれはない。
後さ、板違いかもしれないがhtmlのテーブルレイアウトで基地外みたいな
ソースを書くやつもいる。htmlでもここまできたなくかけるのかとちょっと
関心してしまった
PHPの特徴(Javaと比較して)
・アプリケーションスコープが存在しない
・マルチスレッドではなく、マルチプロセスで動作
・シリアライズはバグがあるため、使用に耐えない
・マルチプロセスのためシングルトンは本来の意味をなさない
・OOPはオーバーヘッドをまねく
・コネクションプーリングがない
・インタプリタ方式のため配備が容易である反面、実行が緩慢
・複雑なロジック構築には向かない
・スキルが高い技術者がいない(有能な技術者は他へ流れる) >>453
日本語おk
比較対象が、>>446のような頭弱いやつが作ったサイトでは意味が無い OOPはオーバーヘッドをまねくとかどの言語にも言えることを
PHPの特徴として挙げてるのが頭弱そうだなw 俺も昔Javaは遅いって偏見もってたけど自分で実装したら爆速だった。
OOPにするとリフレクションを使ったフレームワークがでてくるんだが、
これがとにかく重い。
だけど最近のJavaフレームワークはバイトコード書き換えライブラリで
リフレクションの重さを消してるから大きな差がでる。 >>455
OOPはオーバーヘッドをまねくとかどの言語にも言えない。
JavaはデフォルトがOOPなので「オーバーヘッド」とは言葉の意味として変。
他の言語で言えば、Objective-Cは早さを求める部分だけはC言語を使う。
OOPしたいときはObjective-C特有の記述を行う(処理が若干遅い)。
この言語ではオーバーヘッドだと言える。
PHPも同様。手続き型が早く、OOPするとオーバーヘッド。 phpは速度がいらない用途に使われることで
javaと住み分ければいい。
だからphpの命運はrubyしだいじゃないの? データベースを使用しないサイトではPHP有利。
しかし、データベースを使用するサイトでは
同じデータのためにユーザー別にデータベースに取りに行く羽目に
なるから悲惨。シングルトンも中途半端で意味ないし。
ユーザー固有のデータをユーザー別に取りに行くのであればわかるが。。。
最たる例がOpenPNE、続いてWordPress。 servletはリクエストごとにデフォルトで2000文字のレスポンスバッファ(メモリ)が
用意されてて、上から一行ずつレスポンスバッファにコピーされていく。
そしてバッファが満タンになるごとにブラウザへネットワーク出力される。
つまり2KB毎の出力。(大きく出来るが)
単純な実行速度の差(forループが速いとか)なら誰も気にしないんだけど、
キャッシュを作ったりするプログラマ側の工夫・テクニックが
phpには利用不可なところで大きな差がでるんだよ。 >>462
ついでにいうと、PHPの例を上げてもらうとJavaの場合を説明しやすい。
基本的にPHPよりもJavaの方が選択肢が多いと考えたほうがいい。 PHPに小技を使うプログラマを意図的に追い出して
初心者と上級者のコードの差をなくしたい目的があるなら
それでもいいかもしれんが、目的の為の結果ではなく
単なる設計上の失敗でこうなってるわけだ。
>>460にあるようにPHPであればリソースがムダになるのがデフォルトなのでパフォーマンスでは不利だろうね。 >>460の弱点を補うために共有リソースをJSON化し、JavaScriptで読む設計を見たとき、PHP大変だなと思った。 javaのwebページを見たらわかるけど画面が一瞬消える(真っ白) 完全論破されたPHPユーザの末路だな。
これまでPHP使ってた程度の低い連中が
最近Rubyに流れ出したらしく、railsだかherokuの人が怒ってたな。 facebook,MysqlツールのMySQLAdminもphp javaはServletに対応したインターネット・サービス・プロバイダ(ISP)がほとんどない
リアルタイム通信対戦が作りたい(けど作れない)
phpゲームボーイが発狂してるのかな PHPの特徴(Javaと比較して)
・アプリケーションスコープが存在しない
・マルチスレッドではなく、マルチプロセスで動作
・シリアライズはバグがあるため、使用に耐えない
・マルチプロセスのためシングルトンは本来の意味をなさない
・OOPはオーバーヘッドをまねく
・コネクションプーリングがない
・インタプリタ方式のため配備が容易である反面、実行が緩慢
・複雑なロジック構築には向かない
・高いスキルをもつ技術者がいない(有能な技術者は他へ流れる) 急に書き込みが止まったところをみると
PHP関連に金を貢いじゃったゲームボーイだったようだなw
「PHPの特徴(Javaと比較して)」
・リアルタイム通信対戦が作れない(´;ω;`)
・糞本を発注して小遣い失ってしまう(´;ω;`)
・ゲームボーイが発狂してしまう(´;ω;`)
・セキュリティが弱く攻撃されてしまう
・プロセスでアクセスを裁く
→プロセスは遅い
→アプリケーションスコープが存在しない
→オブジェクトプールが作れない(IO負荷が大きい)
→リソースプールが作れない(コネクションetc)
・非同期リクエストが使えない
・インタプリタ方式のため配備が容易であると嘘をついてしまう
・名前空間が衝突しやすく、大規模システムや多人数開発に向かない
・スキルが高い技術者ほど苦労する言語仕様
・もともとOOPでないためオブジェクト指向の機能が弱い
・アダルトサイトやアダルト広告はphpで決まりだね☆ JAVAはミドルウェアやフレームワークがいろいろ絡みすぎ。
売切りのサイトならいいが、十年以上自分でメンテして行くサイトなら嫌すぎる。 PHPはフレームワーク乱立でJavaと同じ過ちに突っ込んで手遅れ。
AppサーバがApache2に統制されてるからサーバの設定だけは保守性高しかな。 >>475
facebookは違う。PHPコードからC++に変換している。
変換する意味はPHPの性能が低いから。たぶん、facebook開発者はこんなに流行するとは思ってなくて
苦肉の策でHipHopを作った。
>>481
>>484
サーバー管理者の立場から言うと、PHP自体のアップデートが多すぎて手間がかかる。
また乱立するPHPのモジュール。PHP4から5。またPHP5の数多くのバグフィックスなど。
もうね、ひどすぎる。
またメモリ食いが醜い。Javaみたいに1プロセスでドーンとメモリの幅を取るのはわかりやすいが、
PHPはそうじゃないのでアクセス増えてきたらとんでもないことになる。
追い打ちをかけてシリアライズにバグありで分散処理がいまだに信頼できず、
あっぷあっぷしている。といってもPHPの開発者はPHPしかできない人が多く、
分散の意味すらわかっていない。やっぱりPHPは小規模のサイトがぴったり。 PHP大変そうですね。小規模というか1人で開発+サーバー1台だけ
で済むものぐらいでしょう。 >>485
あほくさ。それ管理になってないじゃんw
スケール決めずになんでもかんでも行き当たりばったりで突っ込んだら
なに使っても同じ目に遭うわw
>>487
確かにスケールはからずにPHP使ったのがすべての間違いでした。
分散処理がここまで難ありだとは思いもよりませんでした。
言語自体のバグはどうしようもありません。 >>90
分散処理云々を言語に頼るのがナンセンスw >>489
他言語では分散処理を見越した機能がはじめからありますので・・・。
たとえばJava。
PHPもJavaにならって一部のみ後付けされたようですが、
バグがありますのでどうしようもありません。
>>489
たとえば、
JavaのEJBをPHPで実現できる方法を教えていただけませんでしょうか? >>491
バカすぎるw
何の評価もせずにPHPでなんでもできると思ってたのかw >>492
PHPを導入したのは私じゃありませんので。
PHPがJavaよりも機能や性能が劣るのは十分承知していますので
Javaでの作り直しを進めているところです。
ただいかんせん、PHPしかできない人ばかりで困っています。
使う人間の無能っぷりを言語に押し付けちゃあかんわw
僕がいれたんじゃないから知りませんとか管理にもなってないし。
楽な職場だなあ。 さてと、
本日釣られた方>>492は実現できないとおっしゃっていますが、
やはりPHPではJavaのEJB相当の機能はないのでしょうか? 単純にロードバランサーとアプリケーションサーバーで分割するぐらいしか
できないんじゃないの?
分散オブジェクトで機能分散する規模では
遅かれ早かれ作り直すしかない。 いやできるよ。やり方は自分でググッてね仕事なんだし。 機能が用意されてないとできないJava蔵にはきついかもしれん。
PHPで一から作るか、JavaのものをPHPで使うかどちらかだ。おわかり? 可能・不可能という意味合いで
できる・できないって話をしても仕方ないだろ。 JavaやってたSEが今はPHPのSEやってて、
分散処理がPHPではどうやったらいいかわからず、
お前らから引き出そうとしてるじゃないか?
PHPでの分散処理を自力で実装させるべき。 PHPの特徴(Javaと比較して)
・アプリケーションスコープが存在しない
・マルチスレッドではなく、マルチプロセスで動作
・シリアライズはバグがあるため、使用に耐えない
・マルチプロセスのためシングルトンは本来の意味をなさない
・OOPはオーバーヘッドをまねく
・コネクションプーリングがない
・インタプリタ方式のため配備が容易である反面、実行が緩慢
・複雑なロジック構築には向かない
・高いスキルをもつ技術者がいない(有能な技術者は他へ流れる)
・EJBに相当する機能がない javaラーに何言っても無駄なようだねw。javaしか知らないし
javaがwebに向いていないからjspと言うweb系言語を作ったが何せ遅い
分散、分散って言うがどんなPGでも平行処理なんて出来ないだぜ
■ このスレッドは過去ログ倉庫に格納されています