トップページphp
654コメント182KB

Java VS PHP

■ このスレッドは過去ログ倉庫に格納されています
000112007/04/27(金) 21:21:58ID:U5tJyA2z
Java VS PHP
0341nobodyさん2011/10/17(月) 17:02:30.07ID:???
>>327 = >>340
0342nobodyさん2011/10/17(月) 20:41:18.20ID:???
PHPとか池沼
0343nobodyさん2011/10/18(火) 02:32:36.83ID:???
>>334
解答まだ?
0344nobodyさん2011/10/21(金) 14:48:55.10ID:???
>JavaのapplicationスコープをPHPで実現させる方法を教えてください。
この質問した奴がもの凄くバカだってことだけはわかった
0345nobodyさん2011/10/21(金) 18:12:12.86ID:???
>>344
君は遊ばれたことにようやく
気付いたの?
0346nobodyさん2011/10/21(金) 21:43:10.46ID:85KyWdYU
>>327 = >>340 = >> 344

結構おもしろい人だね。
0347nobodyさん2011/10/22(土) 00:29:14.62ID:Dexq+pl8
>>344
あなたは本当にJavaとPHP双方わかっているのですか?
そんな質問の答えは「無い」と即答すべきでしょ?

requestとsessionに加えてapplicationスコープがあるJavaと
applicationスコープがないPHPでは設計が違ってくるし、超えられない壁でしょ?
0348nobodyさん2011/10/24(月) 00:04:14.02ID:???
phpって遅いのかと思ったけど
割とパキパキ動くので好き
0349nobodyさん2011/10/24(月) 01:49:03.59ID:upke1RU8
>>348
OpenPneやら、WordPressやらでPHPの遅さを嫌持って体験しているとそういう気にはなれないね。
0350nobodyさん2011/10/25(火) 12:03:49.18ID:iSM6PcDe
Phalanger - The PHP Language Compiler for the .NET Framework
http://ja.wikipedia.org/wiki/Phalanger
0351nobodyさん2011/10/25(火) 20:21:38.47ID:???
>>349
CMS系は、間口広く取りすぎて、重くなってるんだと思う。
0352nobodyさん2011/10/25(火) 21:53:01.79ID:C7tUmSdK
>>351

それ以上にapplication scopeがないことが大きい。
DBへデータ取りに行ってもそのデータを他者と共有できない。
できることはせいぜいキャッシュくらい。
0353nobodyさん2011/10/25(火) 23:09:26.14ID:???
application scopeなんか使うか?
使ってんの見たことないんだが。
0354nobodyさん2011/10/26(水) 01:06:12.12ID:???
application scopeってシングルトンでデータもってるのと何か違うの?
0355nobodyさん2011/10/26(水) 14:46:04.08ID:???
セッションスコープはユーザーのアクセスに対してユーザー毎に変数を保持する。

仮にDBにサイトのお知らせデータがあるとしよう。お知らせデータ自体は特定ユーザー固有の情報ではない。

あるユーザーがDBからお知らせデータ取ってきてセッションに格納したとする。そのデータ自体は特定ユーザーのものではないが、セッションスコープは特定ユーザーにひもづいているため
他のユーザーは利用したくても利用できず別にDBへアクセスする必要がある。

アプリケーションスコープは全ユーザー共通のスコープなので、あるユーザーがDBからお知らせデータを取ってきてアプリケーションスコープへ格納すれば他のユーザーもそのデータを利用できる。他のユーザーはDBへアクセスする必要がない。

まとめれば
利用したいデータが全ユーザー共通の場合、セッションスコープしかなければユーザー別にDBへアクセスする必要があるが、アプリケーションスコープがあればDBへアクセスするのは1ユーザーが1回DBへ取りに行けば済み、あとはそのデータを使い回す。
0356nobodyさん2011/10/26(水) 19:41:03.66ID:???
>>355
力説するほどの内容かよ・・。
0357nobodyさん2011/10/26(水) 20:06:39.28ID:???
>>356
phpではどうするの?
0358nobodyさん2011/10/26(水) 21:27:07.54ID:???
>>357
php知らないけど、出来るだろ。
ユーザのセッションIDに紐付けるデータと、全ユーザで共通に使うデータを分けるだけだろ。

別にCで書いたっていいし。
0359nobodyさん2011/10/26(水) 21:34:06.21ID:???
>>355
それならシングルトンクラスにデータ保持するのと一緒だよね。

アプリケーションスコープは
アプリケーションの起動時、停止時にopen(), close()
されるようなものだけを置くべきじゃない?
0360nobodyさん2011/10/26(水) 21:35:41.72ID:???
phpはセッションあるけどアプリケーションスコープないんだっけ?
でもシングルトンでほぼ同じことができるはず
0361nobodyさん2011/10/26(水) 21:50:00.60ID:jUI6mH1O
結局、ここの人たちは両言語の機能の違いも知らないわけ?このスレ意味ないじゃん。シングルトン?C言語?
0362nobodyさん2011/10/26(水) 23:11:55.68ID:???
PHPのグローバル変数 or static変数が
アプリケーション間で共有できないなら
アプリケーションスコープは不可能だな。
PHPなんて知らんが。

Servletのアプリケーションスコープは
単なるハッシュでリクエスト間のスレッド同期も何もしてないはずだから
グローバル変数でデータ持っておくのと実質かわらナインよ。
0363nobodyさん2011/10/26(水) 23:15:45.71ID:N3ssXZIF
PHPのシングルトンはプロセス単位では別プロセスからは参照できない。
またオブジェクトの永続性もない。PHPに加えてmemcachedなどを入れない限り、アプリケーションスコープのようなもの通常不可能。

もしできるのであればWordPressを改良してほしい。ユーザーごとに同じクエリを発行してムダすぎる。
0364nobodyさん2011/10/26(水) 23:30:20.47ID:???
このスレ読んでいるとプロセスで動くPHP寄りの人とマルチスレッドのJava寄り人と
メモリー空間の理解の仕方が違うから興味深い。
0365nobodyさん2011/10/27(木) 13:26:28.99ID:Rtlayp/e
PHPはマルチスレッドではないのでJavaのように同一メモリ空間で動くわけじゃない。だからapplication scopeはないし、無理。また、マルチスレッド言語のシングルトンと同じ意味でPHPのシングルトンを言及するのはおかしい。
0366nobodyさん2011/10/27(木) 15:10:36.16ID:???
え!?
最近のPHP(mod_php)なら1プロセス起動しっぱなしで
リクエストごとにスレッド作るServletと同じ仕組みだと思ってたけど、
いまだに1リクエスト1プロセス、そもそもスレッド無いとかPHP終わってるね。
0367nobodyさん2011/10/27(木) 15:52:42.79ID:???
>>366
だからphpで大規模サイトとか、複雑なやつは作りにくい。
0368nobodyさん2011/10/27(木) 17:28:51.32ID:???
逆に言えば小規模サイトが作りやすい、とも思わないけどな。
結局レンタルサーバの都合だけでphp人気なんじゃないの?
0369nobodyさん2011/10/27(木) 21:39:46.07ID:???
Javaはメモリ食うのとデプロイが面倒だから、ファイル置けばOKのPHPに比べて敷居が高い。
大規模だとPHPという選択はありえないけど。
0370nobodyさん2011/10/29(土) 04:01:31.81ID:???
学校なんかでは、実用性とか関係なく、とにかく、まずJavaを学ぶ。
これはプログラミングを学ぶという意味でね。
でも、仕事では、もっぱらPHPだね。
0371nobodyさん2011/10/29(土) 11:41:34.79ID:???
が、PHPは将来性がないし、技術者の給与が低い。
0372nobodyさん2011/10/29(土) 11:58:08.89ID:XH5vFlcW
WebでJava使うのはいまや業務系だけだろ。
今流行のソーシャルアプリとかスマホアプリのサーバーサイドとかは
PHP以外ありえん。
0373nobodyさん2011/10/29(土) 12:06:44.80ID:???
PHPの求人増えてきてるけど、人材がいない
0374nobodyさん2011/10/29(土) 13:42:50.56ID:???
いない訳じゃないと思うんだ
しっかりした技術持ってる奴はPHP以外の言語も学んでるから、安いレン鯖前提でもなけりゃ他の言語提案に流れてるんじゃまいか

ヘボいスクールで学んだ程度の使えない人材(?)ならいくらでもいるんだけどねえ
0375nobodyさん2011/10/29(土) 15:15:39.54ID:???
有能な人材であれば他の言語も覚える。
無能な人材はPHPに固執する。
0376nobodyさん2011/10/29(土) 15:34:22.64ID:4FCtLJVf
>>372

JavaでPHPの関数のhtmlspecialchars()のような機能を実現するためには
どのようにしたらよろしいでしょうか?
お詳しそうなのでご教授ください。
0377nobodyさん2011/10/29(土) 17:28:31.92ID:???
俺なんか最近まで全部Cで書いて、コンパイルして、CGIで動かしてた。
PHPにしたら、死ぬほど楽。
ライブラリはそろってるし、makeして移動してテストしてみたなメンドくさい作業も要らないし。

速度が遅いかもしれないけど、最近のサーバは性能良いしね。
誰か、ネイティブコードにコンパイル可能なPHPみたいなの作らないかな・・。

売れる気がする。
0378nobodyさん2011/10/29(土) 19:08:27.42ID:???
>>377
PHPはコンパイル型になってもアーキテクチャがマルチプロセスなのでパフォーマンスはあまり変わらないですよ。
0379nobodyさん2011/10/30(日) 00:09:24.80ID:7RgK+kUR
PHPのシングルトンは公式サイトもその意義を疑問視してるね。

http://php.net/manual/en/language.oop5.patterns.php
0380nobodyさん2011/10/30(日) 00:56:39.49ID:???
苦手なりに赤背景部分読んでみた。こういう分かりやすい正直な警鐘出すとこは好感持てるね
たしかにPHPだとシングルトンってただのグローバルに比べてもうまみが薄いよねえ
0381nobodyさん2011/10/30(日) 01:00:28.95ID:???
英語分からんならjaで見ればよかろ
0382nobodyさん2011/10/30(日) 01:38:54.61ID:???
これは失礼w
0383nobodyさん2011/10/30(日) 01:58:11.43ID:???
シングルトンも意味をなさないPHPではOOPは無理がある思う。PHPが真価を発揮させやすいのは構造化プログラミング。それが一番処理が早い。
0384nobodyさん2011/10/30(日) 02:03:58.59ID:???
PHPのシリアライズはバグがあるみたいね。分散処理させない小規模なシステムではあまり影響はないけど、
大規模では使えない。
0385nobodyさん2011/10/30(日) 02:07:35.47ID:???
へ?そらいくらなんでも強弁じゃね
もちろんマルチプロセス前提で普及したゆえに適用できない著名デザパタがあるって事自体は弱みだと思うけどさ
0386nobodyさん2011/10/30(日) 02:09:08.78ID:???
分散は泣きどころだよな
0387nobodyさん2011/10/30(日) 02:19:00.34ID:7RgK+kUR
実際のところ、phpはインタープリッタなのでOOPすれば実行時の解釈量が増え、オーバーベッドが高まる。
0388nobodyさん2011/10/30(日) 02:22:32.03ID:7RgK+kUR
OpenPNEみたいな悲惨なパフォーマンスみればやっぱり無理してるんだなと思う。
キャッシュでごまかしてはいるけれどもね
0389nobodyさん2011/10/30(日) 02:25:45.77ID:???
そこは異論ないな
キャッシュやDBテクでごまかせん規模が容易に予想される分野にゃ辛いw
0390nobodyさん2011/10/30(日) 11:36:40.72ID:???
20年くらい前にさ、「自分で言語を作ろう!」みたいな雑誌の企画や本が結構出版されてた。
構文解析してスタックに詰めて、みたいな・・。
今、どうなんだろう。

今もやってるなら、コンパイル可能なPHPライクな言語を時間がある学生が作れば良いのに・・。
途中一回C変換する、プリコンパイル形式なら、簡単とは言わないけど、難しくは無い土方仕事の気がする。
0391nobodyさん2011/10/30(日) 19:48:57.47ID:???
scalaみたいに他言語のソースコードへ変換されるだけ言語なら作れるかもしれんな。
マルチプラットフォームのランタイムとかだれも作りたくねーし。

扱いやすいJavaのフレームワーク(環境設定の自動化も含めた)
を作ったほうが現実的だな。
0392nobodyさん2011/10/31(月) 00:04:41.61ID:gGH32TBv
Quercusがあるのでは?Javaで実装されたphp。。
現在のところマルチバイトがやや難ありだけど生のphpよりも早い感じ。
0393nobodyさん2011/10/31(月) 00:05:01.00ID:???
http://quercus.caucho.com/
0394nobodyさん2011/10/31(月) 04:56:16.28ID:???
ここまでPHPの話題のみ。Java無し
0395nobodyさん2011/10/31(月) 13:38:24.53ID:???
誤爆か?
0396nobodyさん2011/10/31(月) 16:19:06.81ID:???
goo-net重くね?
PHPだから?
0397nobodyさん2011/10/31(月) 22:56:52.53ID:???
>>396
PHPサイトとしては普通ですよ。
0398nobodyさん2011/11/01(火) 00:41:08.40ID:8zPkzMXU
PHPでコネクションプーリングはどうやるのですか?
0399nobodyさん2011/11/01(火) 07:18:16.12ID:???
mysqlはコネクションプーリングしないほうがいいらしい
0400nobodyさん2011/11/02(水) 10:41:39.66ID:kVqZiVh5
PHPの特徴をまとめた。

・アプリケーションスコープが存在しない
・マルチスレッドではなく、マルチプロセスで動作
・シリアライズはバグがあるため、使用に耐えない
・マルチプロセスのためシングルトンは本来の意味をなさない
・OOPはオーバーヘッドをまねく
・コネクションプーリングがない
・インタプリタ方式のため配備が容易である反面、実行が緩慢
・複雑なロジック構築には向かない
0401nobodyさん2011/11/02(水) 10:55:56.98ID:???
PHPはお買い物サイトくらいまでだな
0402nobodyさん2011/11/02(水) 21:20:06.39ID:???
PHPでリアルタイム通信対戦のテーブルゲームのサーバーぐらいなら
書けるって聞いたんですが無理なんですか?
というか基本的になんでも書けると聞いたのですが無理だとしたらすでに
発注したPHPの本はいったい・・・
0403nobodyさん2011/11/02(水) 21:31:08.04ID:???
こんな程度の低いゲームボーイが集まるのがPHP

国家経済の中核を担うミッションクリティカルな
大規模エンタープライズシステムを任せられるのがJava

まあそれは置いといて、PHPってそんなに遅いのか?
mod_phpってコンパイルとまではいかなくても
構文解析とかでそれなりに前処理するから
速いとか聞いてたが遅いと言う人もいてわからん。
0404nobodyさん2011/11/02(水) 22:05:37.17ID:???
Javaが速すぎるんだよ。あれは反則だよ。
0405nobodyさん2011/11/02(水) 22:38:37.79ID:???
PHPは基本速度が遅い事よりキャッシュを作るのに
いちいちDB使う必要があるのが致命的だな。
0406nobodyさん2011/11/03(木) 00:50:26.56ID:???
>>402
余程人気出たら落ちるかもね。しかし言語問わず素人設計ならアクセスはじけりゃ落ちるもんだ
PHPだから駄目なんだ、って所まで行く頃には人雇ったり外注化する予算なんか計上できてなきゃいかんと思うが

なんでPHPでやろうと思ったの?
0407nobodyさん2011/11/03(木) 13:41:41.54ID:???
>>406
今一番主流で速いのはPHPだと聞いたので・・・
PHPでもよほどアクセスが増えなければやっていけるのですね
ならばとりあえずPHPをマスターしたあとJava勉強してみます
0408nobodyさん2011/11/03(木) 14:52:48.15ID:YvPr1Ejs
どのようなシステムか詳細は不明だが、
PHPでもよほどアクセスが増えなければやっていけるとする。

しかし仮にアクセスが増えた場合はPHPの特性上その対策は限られるし、困難が予想される。
その理由は>>400

最悪、別言語で1から作り直し。
0409nobodyさん2011/11/03(木) 15:35:10.50ID:???
リアルタイムってのがな
できない訳じゃ無いにしろ、選定間違ってるとは思う。無駄大杉
余程の事情なければJAVAで簡単なサーバ立てたほうが適切だろ
0410nobodyさん2011/11/03(木) 16:53:50.74ID:???
>>408-409
ありがとうございます
リアルタイムにPHPは向いていないのですね・・・。
調べてみるとJava servletなどでもPHPと同様のことができるようで、
こっちのほうがアクセスの処理や、セキュリティ面でも有利なようですね

アクセスの軽いブログやSNS程度ならばPHPでもいけるようなので、
とりあえず基本としてPHPは覚えておいて、ゲームのリアルタイムサーバには
Java servletを使ってみようと思います
0411nobodyさん2011/11/04(金) 00:51:19.55ID:SyxcnQaS
PHPはマルチスレッドではないから当然synchronizedも無いんですよね。

>>402さんのやりたいことよくわかりませんが、PHPではほとんど無理と思ったほうがいいです。
0412nobodyさん2011/11/04(金) 12:21:40.32ID:???
速いとかは作れること前提なんだが
学生なら5年くらいはプログラミングで遊んでないと
そのレベルに達しないぞ。
0413nobodyさん2011/11/05(土) 01:58:21.79ID:???
>>411
なんでできないの?できるだろ?
>>402のやりたいことも理解できないくせに
ほざいちゃ駄目。OK?
0414nobodyさん2011/11/05(土) 03:20:29.17ID:???
まあ待ったれや
synchronizedとか言い出してる時点でお里が知れるってもんよ。逆になw

動くは動く、方法はあるとかじゃなくてな。JAVA脳だとふつー無理って言うよww
優しい人は「考え得る限りで相当ひどい選択」くらいに留めてくれるだろうけどさ

質問者がservletとか言い出してるので、みんな呆れて放置してるだけだ
まーあれよ、急がば回れっていうしな。
0415nobodyさん2011/11/05(土) 10:09:52.35ID:???
リアルタイムなら、Cでソケットプログラム組むのが最速だし、最善。
JavaとかPHPとか鼻で笑うレベル。
0416nobodyさん2011/11/05(土) 10:40:25.49ID:HhBc5m4r
>>415

車輪の再発明
0417nobodyさん2011/11/05(土) 10:43:34.43ID:???
まあブラウザーで興奮しただけのゲーム小僧の妄想が
実現することはないからどうでもいいけどな。

ゲームボーイ「ぼく、ゲームに人生賭けてるんです。(キリッ)」
0418nobodyさん2011/11/05(土) 10:53:06.32ID:???
Cしかできないこの人が>>417一番かわいそう。
0419nobodyさん2011/11/05(土) 11:06:28.94ID:???
PHPは言語自体が糞いけど
Javaを何も知らないような人に教えるのは大変。
最近のフレームワークはかなりステップ省略してくれるけど
省略されてるものについて知らないと結局つまるw
0420nobodyさん2011/11/06(日) 12:39:31.87ID:CyEdSHTE
>>415
もうC言語だけじゃウェブでは食えなくなったね。
だから今、PHやJavaを勉強しているんだね。
周回遅れだけどがんばってね。
0421nobodyさん2011/11/07(月) 11:36:41.37ID:???
>>377
HipHop for PHP
0422nobodyさん2011/11/07(月) 16:59:02.55ID:???
rubyはperlの系列
phpはCの系列
pythonはjavaの系列

rubyやperlの構文を簡単と表現するのは間違ってる。
0423nobodyさん2011/11/08(火) 23:28:58.77ID:xqDz7Hyh
PHPでプログラム初めて3年ぐらいの人間ですが、
シングルトンをPHPでやった場合、オブジェクトを生成するコストが軽減されるから有利って聴いたんだけど、意味ないのかな?
0424nobodyさん2011/11/09(水) 00:08:37.13ID:???
意味はあるさ
でもJavaほどの意味はない
0425nobodyさん2011/11/09(水) 01:22:29.50ID:???
>>423
プロセスの範囲内で意味がある。範囲外では意味が無い。
0426nobodyさん2011/11/09(水) 01:28:26.42ID:???
それだとglobalと変わらんって事になるな
0427nobodyさん2011/11/09(水) 01:34:43.48ID:???
マルチスレッドとマルチプロセスの違いがわかれば効能を理解しやすい。
0428nobodyさん2011/11/09(水) 01:37:36.15ID:???
phpの公式サイトですらシングルトンの意義を疑問視する見方があると警告を発しているのでやはり意味は薄いと考えるべき。
0429nobodyさん2011/11/09(水) 03:08:48.67ID:???
>>427
是非ご教示くださいな
0430nobodyさん2011/11/09(水) 09:32:08.77ID:oOybQmeL
>>429
激しく既出
0431nobodyさん2011/11/10(木) 09:20:26.94ID:???
ページを横断できない上に
リクエストが終わったら消えるんだろ?
RDB+memcachedしかキャッシュ作る方法ないって
つらそうだなPHP
0432nobodyさん2011/11/10(木) 18:33:10.38ID:???
PHPってプロセスなの?
0433nobodyさん2011/11/11(金) 03:47:03.01ID:mvrSjj2U
>>432
cgiかmod_phpか、それ以外か、による。
0434nobodyさん2011/11/11(金) 08:47:31.29ID:uxVWvnFW
マルチスレッドではない。
0435nobodyさん2011/11/11(金) 12:24:05.67ID:???
内部ではこっそりスレッドとプロセスを両方使ってるみたいだが
あれはランタイムの速度の話であって
プログラム上でメモリを扱うときはプロセスのみ。
0436nobodyさん2011/11/12(土) 15:42:45.00ID:lTOZckQV
PHPのメモリ管理は非効率。
結果としてデータベース読み出し回数が多くなる。
やっぱり小規模サイト向け。
0437nobodyさん2011/11/12(土) 18:10:05.12ID:???
開発が楽になるための代償としてそうなったのなら
良かったんだが、単に作りが悪いんだよな>PHP
0438nobodyさん2011/11/12(土) 20:26:52.17ID:???
javaはメモリ使うんじゃなくて
JSPがページの静的な部分もメモリのバッファに
キャッシュしておくから消費量が大きいんだと思う。
その分速いと思うけど単純にページが増えるだけで
メモリ消費量がうなぎのぼり。
普通のページはテキストだけで50KB〜100KBだから
オブジェクトにするともう少しメモリが必要だとして
ページ平均100KBと大きめに見積もったとしても
100ページで10MBだな。tomcatやセッションを見積もっても
レンタル鯖は最低256MBくらいメモリ使えるから小規模なら余裕。
レンタル鯖の数が少ない+値段3倍ぐらいなのがネックだが。
0439nobodyさん2011/11/12(土) 23:41:05.99ID:???
>>438
???
0440nobodyさん2011/11/20(日) 23:45:14.62ID:aeb5Hjma
PHPの特徴(Javaと比較して)

・アプリケーションスコープが存在しない
・マルチスレッドではなく、マルチプロセスで動作
・シリアライズはバグがあるため、使用に耐えない
・マルチプロセスのためシングルトンは本来の意味をなさない
・OOPはオーバーヘッドをまねく
・コネクションプーリングがない
・インタプリタ方式のため配備が容易である反面、実行が緩慢
・複雑なロジック構築には向かない
■ このスレッドは過去ログ倉庫に格納されています