Java VS PHP
逆説的にPHPはJavaより優れてるって書いて、無理やり理由こじつけて煽りまくればきっと盛り上がるよ。 もしくはPHPユーザ(特に職業プログラマ)を見下す発言をすれば盛り上がる。 言語にこだわっているようじゃ二流。何を作りたいか、誰と作りたいかで選ぶだけ。 Javaは変数の型やクラスを理解する必要がある。 一方PHPは変数型に特にとらわれることが無く、またクラスという概念も無い。 もともとJavaはCを使っている人が簡単に移行できるように設計されているので Cライクな言語になっている。 で、結果からすればPHPのほうが良い。 PHPにクラスという概念がないって、そんなにPHPを知らないのに JAVAと比較されても・・・ 彼のPHPはバージョン3で止まってるんだよ。きっと JAVA VS Perl だったら盛り上がるよ。爆発的にw >>14 まず、そのPerlってやつの説明からやってくれ。 PHPは初心者の頃好きだったけど、今は嫌いになったなぁ Javaはファイル入出力がめんどいね。 PHPと同じような使い勝手のクラスを作らないとなぁ。 (既にあるなら教えて) あと、なんで文字コードの変換ってあんなに面倒なの? (これもJcode.pmみたいなのがあるなら教えて) やっぱりPHPはServlet + JSPよりパフォーマンス悪いですか? そこそこの規模のメンボサイトを作ろうと思ってるんですが JavaになれてるんでPHPよかJavaで作りたいと思ってます、 ただTomcatが動くホスティングって高かったりするのが難点ですが。 Javaで作りたいと思ってるならそれでいいやん パフォーマンスなんて規模による クソスレあげないでください。 PHPは十分スケーリング出来ます。使いたくないならつかわなければいいだけです メンボサイトってメンバー募集サイト? たかがそんな単純なDBシステムでパフォーマンスの違いが出るか? 1日に50万件くらい登録されるシステムならJavaのほうがいいと思うけど。 >>26 そうですバンドメンバー募集サイトです。 既存のメンボサイトより検索条件項目とか多くしたり 高機能で使いやすいサイトを作りたいと思ってます。 探してみたら http://www.thinkit.co.jp/cert/compare/2/4/2.htm みたいな比較がありまして PHPは安上がりになりそうではありますが 今度色々と機能を増やしていきたいと思ってるので PHPで重くなるならどうせならJavaにしようかなと思いまして。 PHPは型が隠匿されてる、あるいは暗黙に変換されてるだけで 本当に型がないわけじゃないから実際にはそれが原因でかえって 型指定で簡単にみつかるようなバグに悩まされたりするよ。 Javaは面倒くさい PHPは誰でも書ける反面書く人によってとても汚いソースになりやすい。 俺は、もうJavaには戻れない。あんな面倒くさい言語もう嫌だ。 PHPの方が開発は、はるかに楽だもん。 Rubyなら綺麗なソースでしかも簡単に書けるけどね Rubyでどんな処理させようとしてるのか知らないけど Webアプリのボトルネックは言語の処理速度以外のところに 発生するのであんまり関係ないと思うけどね しかもRuby1.9になればPerlやPythonよりも早いという ベンチマークもあるし >Webアプリのボトルネックは言語の処理速度以外のところに >発生するのであんまり関係ないと思うけどね 甘すぎ。小規模案件しか関わった事無いんじゃね? matzがそう言ってるんだけど、彼はプログラム言語についてはスーパーハッカーだけど、ウェブ開発に関しては素人だね。 そんなこと言っていいのは予算が大量にあっていくらでもスケールできる場合だけだ。 rubyのコードに対して拒否反応が出てしまう俺様産業 大規模になってしまったサイトなら開発したことがあるけど、 PHPの遅さよりもMySQLの負荷の方が心配だったな。 PHPでJAVAライクなMVCプログラミングをやってる俺は正統派。 クラスもバンバン使ってるしね。 コンパイルもないし高速だし管理も簡単だしPHPはいい言語だよね。 smartyやクラス使ってるぐらいでそんな偉そうなこと言われても smarty使うなら素直にJava使えばいいのに。 PHPはHTML中に適当に混ぜて使えるお手軽さだけが売りなんだし。 >>32 ruby が perl より速くなることはアリエナイ。 perl は各関数を c 化するとか恐ろしい最適化がなされている。 頼むからHTMLファイルとCSSファイルを一緒に書かないで!わけわかめ。 >>43 ある意味、かえって解り易いと思うんだが・・・どちみちFireBugで一発表示出来るだろう? 一時期Javaに手を出したが、あれはどうにかしてくれと思った。 まずhello, world表示させるだけで一仕事じゃねーか。 Java速い速いっていうけど、PHPじゃ遅すぎてどうしようもないサイトってどんだけ大規模よって話。 ハードの進歩の勢いを超えるアクセス数の増加ってまずないと思う。 それだけ大規模なサイトなら、広告つけて稼いでハード買い足せ。 mixiはperl、wikipediaはphpだったよな? サーバ増設してロードバランサつけて・・・ってそっちのほうで対策したほうが合理的だと思う。 後はバッチ処理とか速度を要求される部分だけ高速な言語を使うというのもアリだと思う。 http://www.infoq.com/jp/news/2007/10/big-java -- Justin Sher氏(ブログ・英語)はeBay、GMail、Amazon、hi5.comとGoogle AdWordsがJava上で構築されていることをすばやく指摘した(source)。 -- 言語の優劣語るのはあんま意味ないとは思わんかね 研究で使用ツールの話するようなもんで amazonってjavaなの?perl主体のごった煮だったと記憶しているが、どこの話だったっけ お前がこれからamazonとかebay運営するつもりなら、Java使えばいいんでねーの web環境 javaは動作速度が速い phpは開発速度が速い javaで仕事をやらせると技術者が逃げるのが早い phpで仕事やらせると技術者の習得が早い 月間1500万PVあるが、30万ぐらいで買ったOpteron鯖にPHP+MySQLで何も困っていない Javaなんて使わないと忘れるが、PHPは結構忘れなさそう >>53 言語自体は使わなくても忘れない。 忘れるのはオプソのパッケ群の使いかただろ。 >>46 System.out.println("hello >>46 "); よくelseifかelsifかelse ifか忘れる PHPでできることをJavaでやるのは、そんなに難しくない。とおもう。 おいらは、 Javaやる→わけわかめ。 ↓ 上司にPHPをやらされる→こりゃいいや。 ↓ もう一度Javaやれ→あれ?前よりわかるぞ。 ↑ 今ここ。 100万回ループして計測したらJavaのほうが圧倒的に早かったな まぁ自分の環境だけじゃあてにならんが。 そりゃそうだろ DB使うとそっちにボトルネックが移動するから差は縮まる DB使わないJavaシステムって想像がつかんな。 数値計算でもする気か? DBの負担を減らすためにDBは簡単なスキーマにしてスクリプト側で複雑な処理をするんじゃん。その場合にPHPとJavaじゃまるで実行性能が違う。 それにJavaだと変数をアプリケーションスコープに入れとけば簡単に永続化できる。これもDBへのアクセスを減らすことに役立つ。 PHPは言語構造がださい。 あの$マーク、うざい。 コンパイラが関数と変数の区別ができないからダラー記号に頼ってる。 PHP言語作ったやつの手抜きか知能指数不足。 ジャンクフードだ。PHP嫌いです。 $マークってうざい? これはこれでわかりやすいと思うけど。 言語構造と変数とその他がごっちゃになって可読性が悪いCとかJAVAより良い 関数には末尾に() がついてるからそれだけで充分。 $マークは余計です。 読むときにじゃまくさいし書くときは1文字増える。 ウォレットならいいけど。 私に言わせると、$記号は、「ポッタン方式のおつり」だ。 Javaだと int a = 0; int b = 2; a++; System.out.println(a); a++; b += a; System.out.println(b); PHPだと $a = 0; $b = 2; $a++; System.out.println($a); $a++; $b += $a; System.out.println($b); となる。 Java: e = a + b + c + d; PHP: $e = $a + $b + $c + $d; なんてことにもなる、PHPダサすぎ。 1行のうち何パーセント$が出てくるんだろう。出すぎだ。 PHP のSystem.out.println( ) はecho ' ' のミスでした。すんません。 数学的な演算の表記法として、PHPはできそこないだ。 数学では変数に$記号なんか付けない。 PHPのコードでは概念の把握が阻害されると思わざるを得ません。 Rubyは言語理想主義者がとことんまで突っ走ってああなった感じ Rubyは自分用のお手軽ツールつくるのに便利ですよ。 Perlの場合、$@%で変数の型を視認できるのがよい。 チョロQは10円玉でウィリー走行できる フェラーリはできない よってチョロQの圧勝 こんなバカがこのスレにはたくさんいます PHPの $$変数 は、C/C++の世界の住人の発想でしょう。 もともとの**変数より変な文法でわかりにくい。 つーか $$変数 なんて使い道がない。がらくた言語。 C/C++のポインタなら *が何個あっても理解できるよ。 PHPのは$$2個だけ。はんぱもん。 可変変数とか真顔で言っちゃうのがキモいんだよな・・・ Zend Optimizerとかphp.iniとかも 可変変数なら3つ以上も普通に可能。 php初心者なのは仕方ないがまずよく調べてから発言するように。 可変変数、動的にインスタンスを作れるとか、いくらでも使い道あるわ。 だいたい可変変数とCのポインタは全然別の機能だろ。どっからそんな発想が生まれるんだよ。 可変変数のアイデアソースを求めるなら、シェルの変数展開なんかだろ。 配列の値をa〜zにするとします。その値をループでまわして変数の値にできるのが 可変変数でしたっけ?私、前から疑問をいただいておりまして、すれ違いだとおもいますが ちょうど話がでたので、おしえてください。 というより、配列の値を変数名にしたいときが多々あるんだけど方法ないかな? >>97 普通にあるが仕事じゃ使っちゃだめ。 メンテになったらバカがソース見るんだから混乱させちまう。 javaはjavascriptと間違ってはやっただけだと思う。 ajaxが本命 javaでjavascriptを作るなんて論外だ。 逆に難しくなるじゃないか! レンタルサーバなので、普段はPHPです。 Javaは今のところ出番なし。 なんか、PHPスレが一杯上がって、すごいな。 そういう俺は、Java専門。 個人が趣味で使うならPHPだろ。 Javaなんてやってる暇あったらJavaScript覚えた方が100倍有意義。 cmsが増えたからだろ PHPが増えたのは カスタマイズできないやつ大杉 PHPの関数って 戻り値の型がなんなのか? が関数の冒頭に書いてないから何を返すかプログラム読まないとわからない。 やっぱモグリプログラマー用言語。 型がたった1つに固定されてるほうが柔軟に書けないから使えないよ ま、なんだかんだで型が静的に決まってるほうがプログラムしやすいんだよな。バグの発見をコンパイラがしてくれるから。 ウェブアプリだと、リクエストパラメーターに対するヴァリデーションチェック、DBに入れるときの数値型、文字列型の判定、この2つのタイミングでどうしても型チェックをすることになる。 だったら、初めから型付けしてある変数を使った方がいい。 >>106 一度型を決めた変数を、後から型を変えるって有り得ないだろ… インターフェース使えよ。 スクリプト言語全般にいえるが 結局、触れ込みだけ立派で実質がくだらない。 日産マーチのツインカムエンジンみたいにスペックは凄ぶってるが 「初心者・未経験者歓迎」以外自慢できる点が無い。 Rubyの関数定義にdefというキーワードが付いているがあれは 「definition」の略か? クラス定義にはdefがついてない。一貫性が無い。 「ストレスなくプログラミングする」というふれこみと食い違ってるな。 落ちこぼれ組の開き直り症候群だ。 Rubyが関数にdefをつけるのはPythonのパクリ。 恥も外聞もない。寄せ集めのプランケンシュタインみたいな文法。 なにがオンリーワンだ。 醜悪だ。福笑いだ。 rubyは松本が楽しくプログラミングできる言語であって、誰でも楽しくなれるわけじゃない。 _,......,,,_ ,、:'":::::::::::::::::``:...、 /::::::::::::::::::::::::::::::::::::::\ i::::::::::::::::::::::::::::::::::::::::::::::::::ヽ !::::::::::::::::::::::;‐、:::::::::_::::::_::::'; |::::::::::::::::::::::| :: ̄ ``! r''ヾ'::::::::::/ :: | l r‐、\::/ _,,、ii_;;_、 _,,,l、 ヽヾ〈 ::= -r:;;j_;、`/ :;'ィ;7 !:!_,、 :: ` ー : |: `´/ 何かもう必死でしょ? ,./ヽ | 、_ :: ,: 'r' :i |: / 最近のrubyは ,../ `ヽ;_ i | '"、_:::__`:'‐'. / / ``'ー 、_\ ! `::` ̄''`チ`シ /ー 、_ `\:、_ :: ` ̄/ / ``ヽ、 ヽ`'7‐--' Javaがrubyに攻撃されるようになったのは、 うじゃうじゃフレームワーク群(親不孝もんのドラ息子ども)が乱立して混乱したから。 rubyはRoR1種類でカタがつく。 そこで思うんだけど、RoRと全く同じフレームワークをJava版で作ったらいい。 ruby撃沈。 選択肢は多い方が良いだろ sun社員が仕事でfw作ってるんだし 中小零細のSI企業が高卒のドシロウトでも即戦力で使いたい。 教育期間を半年も取ってたら会社がもたない。 そういうピーピーのビンボくさい理由でPHPが流行した。 これが実情だろう。 >>115 JRuby on Rails JRubyはjavaか、というのはさておき、Sun社員様が一生懸命やっておられる。 JRuby on Rails って、 Rubyでコード書くんでしょ? それじゃあJava使いは仕事できないじゃない。 しょうがないです。 Rubyはつぶれてもらいましょう。 マジレスするとPythonはもっと評価されてもいいと思います。 Python - Wikipedia http://ja.wikipedia.org/wiki/Python#.E8.A8.80.E8.AA.9E.E3.81.AE.E6.A9.9F.E8.83.BD Pythonはもともと教育用に設計されたためか、読みやすく、それでいて効率もよいコードをなるべく簡単に書けるようにするという思想がすみずみまで浸透しており、Pythonコミュニティでもわかりやすいコードをよしとする傾向が強い。 汚く書けない/書きにくい、が最良という発想ね 実際一理あるよな。 Perlみたいに汚く書け過ぎる代わりに、コマンドラインから1行に押し込んで実行する時に役に立つのもあるから適材適所だろうけど。 JavaユーザーってPHPを馬鹿にし過ぎwwwwww 適材適所じゃね?へんな宗教みたいできめぇwwwwww JavaはC♯と比べてもうんこです。 PHPは問題外 PHPもJavaも使うけど、PHPの開発効率の高さはやめられん。 今まで使ったFWを参考に作った自作FWとコード生成ツールを使うとおっそろしく 短時間で作れるから。同じPHPでもコード生成ツールなしの場合に数日かけてた 作業が、これを使うと数分で済む。もちろんtypoもないし。DBの定義に合わせた modelクラスと一通りのDBアクセスコード、フォームからデータを受け取るコード と入力検証コードは一瞬で生成。あとは仕様に合わせてちょっと追加変更をする だけ。 Java用にもコード生成ツールは作ったけど(既製品も併用してる)、既存のFWに 縛られるから、ツールを使うことを前提にした自前のFWがある分、俺にとっては PHPのほうがいい。 数分で作れる物に対しては、 PHPが一番優れていることに誰も否定していないよ。 あー、Schemerだけは言うかもしれないけど、誰も聞いてないのでOK。 20分を超えるまではベストだと思う。 それマジでいっている? まあ作るものによって違うけど PHPやってるけど、 わからん。。。 JavaはAPIみれば組めるけど、 PHPはライブラリーの見方がわからない。 みてもわけわかめ。。。 Javaエクリプス開発で楽だし、、、、。 残念ながらPHPが最強 なぜなら俺が使ってるから ひきこもりでもブログが作れます(^^; PHPとJavaじゃ用途が違う。 全く意味のない議論ですね。 無意味な議論だよ。俺Javaで組んだことあるが、ほんと限られたクライアント だけだった。でもなるほどなと思ったよ。でも、今は自営なのでphpのほうが 良い。 PHPのバージョンは? PHP12ぐらいだとどう? やっぱり実際にWEBシステムを構築してから レンタルサーバを借りる事を考えるとどう考えてもPHPにぐんぱいはあがるね。 なぜなら安いし。最近だとIDEも色々と出てるから態々Javaを使うメリットがない と思う。 php6はjavaに近くなるらしいからjava使ってた奴は死んでね phpのおかしいところはc言語みたいにインクルードをしないとほかのファイルを参照できないところだろう >>146 PHP5からはオートロードの機能がありまっせ。 PHPユーザーを代表します。 JAVA覚えたいです。 難は易を兼ねる。 給料アップしたいです。 >151 俺は3年前にPHPエンジニアからJavaエンジニアにチェンジしたけど 今思うとWeb系はJavaできないと食っていけないよね。 PHPは給料も安いし。だいたい50万円前後くらいしか貰えない。 (Javaなら70万円前後。今は不況で無理だけどなー) ただ、Javaは覚えることが多くてな。 Javaの言語仕様、Servlet、JSP、Tomcat、Ant、Maven、Struts、Spring、 Hibernate、iBATIS、Eclipse・・・ 最低限これくらいは抑えておかないと。 >>152 オヤスミ… <⌒/ヽ-、___ /<_/____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ 基情でJAVAやったからもういいや オブジェクト指向の概念だけミッチリやっとけばよくね? Javaが使われてるwebページなんてあるの? インタラクティブなコンテンツ作るならFlashとかAjaxが主流だし。 あと、Javaでcgiやるとなんかいいことあるの? 処理速度が速いとか? >>155 結局ツールの使い方、もっといえばライブラリの勉強、 現場ではそれに尽きる。 オブジェクト指向の基本的なところを抑えておかなきゃ いけないのはそうだけど、どっちにしろ、ライブラリ使え なきゃフレームワークの意味ないからね。 >>157 Java仮想マシンの中で全ての機能をパッケージ化できるじゃないか。 いや、別にServlet経由してもいいけどさ。 Full JavaでOS作れたらJava認めてもいいよ。 >>156 サーバサイドはjavaで作ると相当速くなるっぽいよ。 phpとjavaのパフォーマンスを比較した記事がどこかにあった。 ただ開発は大変だろうね。大規模ならあえてjavaを使うのもありだと思う。 ただ、amazonやgoogle、wikipediaなんかの有名どころはjava使ってないらしいな・・・ そんなにメリットないのかな。 java は起動しっぱなしだからなぁ。 php ページ表示されるたびに呼ばれるからなぁ PHPは、プログラミング言語として学ぶべきものではない ttp://blog.livedoor.jp/dankogai/archives/51231480.html >>163 圧倒的に優れているはずの我がperlが、普及率でPHPに劣っているのが我慢ならんのでしょ。 ガチガチでギラギラの顕示欲にまみれたおっさんなんてほっとっけ。 こういう攻撃的な文は好きじゃないけど主張には共感出来る部分が多いな。 それは言語仕様によるものなのか? PHPは、HTMLにコードを組み込み易くする、 かつ、HTTP/HTMLに便利な関数を最初から ビルトインしてるってだけだろ。 Javaだって関数仕様は使うソリューションに 依存するじゃねーか。 何をすれば、綺麗な実装なんだ? それを言ったら、どの言語も、いまや目的別 のライブラリを利用するためのツールで、 言語ごとに学ぶものじゃないって結論になるだろ。 いや、とはいってもPHPの関数名はひどい。 htmlspecialcharsを見た時は殺意を覚えた。 html2safestrでいいって。 今日使った一番長い関数 mysql_real_escape_string だっけ。 まぁでもいいじゃん。関数名なんてコピペで入力するんだから。 むしろ何の機能かわからんくらい短くされると困る。 session_set_cookie_params の勝ち javaって大文字と小文字を使い分けなくちゃいけないんだっけ? アレ面倒だな。 え?PHPってケースインセシティブなの? VBと一緒に死ねばいいのに。 >>169 > mysql_real_escape_string だっけ。 JAVAではありえない関数名。JDBCはどんなDBでもメソッドは同一。 PHP=くそ >>175 PHPってDBをMySQLからオラクルに変えたらシステム全部書きなおし。 信じられない融通の利かなさ。 言語作ったやつアルツだったのかとしか思えない。 >>176 みたいな事態は実際にありうる。 古いコードを運用していて、「社内DBをオラクルに変えよう」という場合。 あと、生まれつき出来そこないのPHPはZendがバージョンアップするたびにあちこち古いコードが使えなくなるだろ。 古いものと新しいものを混在させることができない。運用上まずいんでない? Javaではそういう話はない。最初から完成度高いからね。 PHPのバージョンが上がると徐々にJavaに近づく。 最終的に「なんだ〜?これJavaじゃん」となるのでは? 「Javaはムズカシイ」と言ってる感覚がわからん。 JavaはCとかC++より簡単なのに。それ以上簡単にする必要は全くない。 フレームワークが多数出ていて全部知ろうとするとたしかにうんざりだがその必要はない。 JAVAをミスユニバースとすれば PHPはプログラミング言語の世界のヘチャムクレ奇形児だ。見るに耐えられない。 何回整形手術してもブサイク。 Zendはユダヤ人が始めた会社で開発センターはイスラエルのテルアビブにあるんだろ(本社はいちおうカリフォルニアだがシリコンバレーではない)。 テロが蔓延して弾丸が飛びかう地域でガツガツの金の亡者ユダヤ人が作ったもの。 メチャクチャなシロモノになるのも当然か。 例えれるとJAVAはXHTML2 PHPはHTML5 で世の中どっちに行こうとしてるの?その理由は? それ考えると自明 >>183 >例えれるとJAVAはXHTML2 PHPはHTML5 JAVAはWeb専用なワケではない。 制御系にも業務系にもなんにでも使われる。GoogleのandroidもJAVA。 PHPはWebだけ。小さいな〜 >>183 「PHP=簡単 Java=難しい」でPHPを始めた人も多いのでは。 そりゃそうだ。HTML内にベタベタ書けば良いだけなんだから。 簡単だよ。お手軽だ。 でもPHPにもクラスが入って来たりフレームワークが使われ始めているから、 そろそろ、プログラミングの知識が無いと難しくなって来るんじゃない。 今時PHPをベタベタ書けば良いだけとか表現するあたり 使ったことないだろ 定義されてるかどうかきっちりチェックしていかないと警告出まくりだぞ 別にerror_reportingの設定なんか自分で変えればいいじゃん error_reportingの設定で警告回避とかプログラマーとして失格だろ おまえはそんな糞コードを推奨するのか? error_reportingのためにコーディングするの? >>186 さてはまだフレームワークを使っていない輩だな より正しく、より応用範囲が広く、よりパワフルなXHTML2は自壊する事になった。HTML5に負けのだ。 ちなみにHTML5もWebにしか使えない。 ポインタの概念もないくせに $クラス->メソッド() の記法は笑えるというか腹立つ。 >>193 アホがまともな人を見るとアホに見える。 >>180 「カネが欲しい!ドルが欲しい!」 と24時間365日考えているうちに 変数の頭に$記号を付けないと気がすまないという精神構造になって PHPの変数に$が付いた。 のではないか。 「UNIXシェルスクリプトの慣行を踏襲した」 というよりもそういう深層心理からだったのだろう。 シェルでは変数に値を代入する場合、左辺の変数名には$をつけない。PHPでは変数は常に$で始まる。 このことからも PHP=カネの亡者の産物 であるといわねばならない。 PHPの営業はバカの一つ覚えでこう言う。 「PHPのシステムはJavaより軽いです。サクサク動きます」 ウソつけ! やつらは科学的なデータを示すことはできない。 なぜならそれがウソなのが証明されてしまうからだ。 PHPはオブジェクト指向になりきっていない。 例えば array_change_key_case() array_chunk() array_combine() は Array ar = new Array(); で生成して ar->change_key_case() ar->chunk() ar->combine() とするのが本来のオブジェクト指向のコード。 ハンパだな〜〜〜 あ、$忘れた。 >>200 arrayObject使ってメソッド実装すればいい つうかそんな事OOPの本質と関係ない >つうかそんな事OOPの本質と関係ない やっぱり本質的に関係あるよ。 関数名の先頭にオブジェクト名がついてるようなオブジェクト指向言語はIQ不足だ。 Javaで StringBuffer sb = new StringBuffer(); sb.stringbuffer_append(); だと冗長なので sb.append(); となっている。 コーディング上意味が重複するものが発生しないようにすべきなのだ。 OOP化したならPHPの関数のaからzまでまるごと先頭の単語はムダだ。 >>203 だから202は「arrayObject使ってメソッド実装すればいい」と言ってるじゃないか このスレに限らす変数なんでもオブジェクトがオブジェクト指向と思ってるやつがいるよな まずはWikiでOOP読め >>205 WikiでOOPで見たら オブジェクト指向プログラミング があったがそのページにはPHPがのってなかった。 やっぱなんちゃってのまがいものだから載せるにはためらいを感じたんだろう。 >>208 3回読んだ。 ようするに純粋なOOP言語にJavaは含まれるがPHPは論外であり Perlより下の扱いというか圏外。 邪道、外道、ハリボテ、バッタモンである。 OOPが出来ない言語はPerl以下の言語である。 何それ? 209の考え方の方が邪道、外道、ハリボテ、バッタモンじゃん >>209 理由書いてみ 変数ネタはもう飽きたから違うのな print()<---C とか echo <-----shell とか他の言語体系からパクって来てるの、恥ずかしくないのかな。 print_r("件数は$kennsuuです"); は print_r("件数は".$kennsuu."です"); にしてくれんかな〜〜違和感がある。 風船騒ぎの子供みたいなのがPHP作ったんじゃないかな。 array は文字通り見たら配列でしょ。 ところがこれが「連想配列」でJavaのMapみたいなもの。 自然言語のイメージと食い違っていて誤解を生じる。 Mapと配列は分けてくれ。 配列の発展形として当然Listクラスくらいないと困るけどないらしい。 ボロボロなのでは?書いてて苦痛じゃないですか? >>213 JavaのListにはキーがない。ただオブジェクトが並べて入っている。 キーを使わないで並びのオフセット値で取り出したり入れ替えたりするのに使う。PHPではできない。 PHPのlist()はarray()からキーで取った値を取り出す。キーなんかつけるなよ! PHP作者はMapとListと配列が頭の中でカオス状態になっている。もっと頭脳明晰じゃないと言語作る資格がない。 >キーを使わないで並びのオフセット値で取り出したり入れ替えたりするのに使う。PHPではできない。 PHPでもキーを指定しなければ並び順になるのでは? >PHPのlist()はarray()からキーで取った値を取り出す。 よく分からない。list関数にキーは関係ないと思うが。 >PHPでもキーを指定しなければ並び順になるのでは? だからね〜そもそもarrayにキーの概念が混じってるのがトンチンカンなの。 >PHPのlist()はarray()からキーで取った値を取り出す。 よく分からない。list関数にキーは関係ないと思うが。 http://www.scollabo.com/banban/php/php_05.html <?php $fruit = array("Apple" => "りんご", "Orange" => "みかん", "Grape" => "ぶどう"); while(list ($key, $val) = each($fruit)) { print ("インデックスの $key は、$val です<br>\n"); } ?> という例文見た時ヘンだと思った。諸悪の根源はPHPを最初に作ったとき「配列」と「Map」がarray()でごちゃ混ぜになっていて 別クラスになっていなかったことだ。この区別をしないのはおバカだろう。 区別をしないようにしたのは意図的だろう。 その判断が正解だったかはどうかは別として。 だんだん厳密な方向に進んでいるから、最初の作者も今は後悔しているかもしらん。 後悔というより選択肢を増やしてるだけだ PHPはスカラー値の宣言が無いのを見てもわかる。これは意図的なものだ。そして今時でもある。 多態性を持たせるために可能な限り型を区別しないのだ。 昔は変数名に型名をつけてたりしたのを知らないか? OOP以前は型を厳密に区別するのが保守性や生産性に優れてると考えられてたんだ。 >昔は変数名に型名をつけてたりしたのを知らないか? OOP以前は型を厳密に区別するのが保守性や生産性に優れてると考えられてたんだ。 これは異なことをおっしゃる! 今も昔も将来もOOPは型に厳密なのが本筋ですよ!C++は特にそう。Javaもそう。 型を動的にしたOOPはRubyがあるけど。 型の扱いがユルイのはコーディングのミスと実行時エラーのもと。 >>217 216だけど >だからね〜そもそもarrayにキーの概念が混じってるのがトンチンカンなの。 なんで?arrayにキーの概念が混じっているとなんでだめなの? 215で「PHPではできない」と言ったことに対して「できるよ」と言ったのにさっきから話題逸らしてるよね。 >という例文見た時ヘンだと思った。 これも意味がわからない。ただの主観で語ってるじゃないか。 別にヘンだと思わないで使っている人が多数。 どの辺がヘンなの? 別に古い考え方に凝り固まっている人と評価して切り捨てたりはしないけど せめて論理的に主張できなくちゃ説得力がないと思いますよ なにかを正しいと思い込んで、 まったく関係ない別の事柄にも ソレを望むなど、気がふれてるとしか思えない。 >>221 ,222 PHPを否定する理由は前にも書いたが 異なる概念は異なるものとしてハッキリと識別すべきであるにもかかわらず PHP作者はMapとListと配列が頭の中でカオス状態になっている ということ。 list()は最初リストを作る関数のように思ったが、arrayの中身を取り出すものだったらしい。 こういう関数のネーミングもヘンだ。PHP作者が英語話せるかどうかが疑問だ。 おっとヘンというと主観になるのか〜。「不適切」と言い換えよう。 おっと、EcmaScriptを悪く言うのはそこまでだ。 >>223 すべきであるにもかかわらずというところから。 まず、なぜ異なるものと識別すべきと思うのでしょうか。 ID:xxwa2wCTみたいな低レベルの独りよがり(でも自分はできるみたいな書き方をする)が、 批判に混じるからややこしくなるんだな。 >>224 EcmaScriptについては何も言ってないよ。JavaScriptのことは「これでよい」と思う。 >>225 三角形と四角形と円くらいの違いがあれば区別するのが自然。 >>227 なんで 三角形と四角形を 区別するのが自然なんですか? 一緒にする体系が存在することがそんなに問題ですか? >>228 Mapはキーで値とかオブジェクトにアクセスする。 Listと配列はオフセットでアクセスする。 Map(arrayを連想配列で使う場合)はキーは違ってないといけないし1つのキーに対する値は1つ。 Listと配列は要素として全く同じものが入っていてもかまわない。 Listは要素が可変だが配列は要素数が固定。 こんなに違うのを一緒くたにすると使えなくなる。 >>223 >異なる概念は異なるものとしてハッキリと識別すべきであるにもかかわらず それはJava脳 >こういう関数のネーミングもヘンだ これもJava脳 それは静的型付け言語だから コンパイラに向いてるがPGが喜ぶ話ではない。 配列の個数を言語レベルで制限して生産性や保守性が上がるシーンは限られてる その3つをはん化して区別なく使えるようにした方がより使いやすい。 PHPの配列が弱かったのはそんな事でなくオブジェクトとしての振る舞いが出来なかった事だ。 だがそれはもう解消されイテレータも持てるようになった。 >>121 Pythonの先祖は教育用だったが Python自体は教育用に設計されたわけじゃない。 毎度のことながらWikipediaは間違いだらけだ。 >>229 また元に戻ったな。一緒にしたわけでもないんだから、その論は通らないよ。 プログラマーにとっては $記号がついてないと変数と認識できないようなへぼい解析しかできない処理系は カンベンしてもらいたい。 数学の式において変数にはアルファベットしかない。 $が氾濫してると見た目が醜悪で可読性が下がる。抽象性が下がって本質が見えなくなる。 ドッグフードばかり食ってるとフランス料理がまずいと感じるようになる。 >>232 当たり前のように使いにくい言語扱いされてんだな >>235 $一つ押したらIDEがそのスコープの変数全てをリストしてくれる。極楽じゃないか? 置換も楽だ。 全然大変じゃない 最低限の設定がいるだけ つうか"無い"は嘘だろ Java版Ruby on Railsと呼ぶにふさわしいフレームワークが出たぞー 「Play framework 1.0」 http://www.playframework.org/ 動画を見ると非常にすばらしい モデル、ビュー、コントローラーの変更がリアルタイムに反映させる。 >>245 携帯電話のNOKIAのスマートフォンのOSはシンビアンだ(個人的には嫌いだ)が これはC++でコーディングする。 iPhoneもC++、GooglePhoneはJava。 速くて資源を節約する(軽い)ためこの言語を採用した。型にうるさい。 型にうるさいのは「冗長」とは言わないよ。 速く軽くするための必然だ。 型がゆるいのは重くて遅い。物理的にそうなる。 クラスで変数メンバーを持っているときPHPは $this->hensuu = 1; と書かないといけない。 Javaでは hensuu = 1; でよい。どっちが冗長だろうか。 同名のローカルがある場合は、this.hensuu だろ? 読むとき分かりやすいのはどっちだろうね。 >>249 http://www.scollabo.com/banban/php/php_11.html の例を見ると同名のローカル変数がないけど$this-> になっている。例が間違っているのか、そうでないのかどっちだろう。 $thisを撃つ必要があるかないかって本質的な問題? それを言ったら、JavaでWebページを出力する時とか、ファイルの入出力する時とか、DBに接続する時とか、それはもう・・・ >>250 それPHP this.hensuu は JAVA >>246 ライトウエイト言語って速度が速くてライトって意味じゃないぞ… LL知ってるか? PHPはだいぶJavaの仕様を取り入れている、PHP6.0ではもっと近づく。 PHPは簡単だ軽い何て始めた人達も結局プログラミングの知識や テクニックが必要になるのはもう分かり切っている。 >>251 >$thisを撃つ必要があるかないかって本質的な問題? それを言ったら、JavaでWebページを出力する時とか、ファイルの入出力する時とか、DBに接続する時とか、それはもう・・・ Javaではローカルかパラメータで同名がある場合以外はthisはいらない。 Webページ出力、ファイル入出力、DB接続もthisの出番があるとは思えない。StrutsのFormのことならそれはJavaの責任ではなくStrutsの責任。Strutsを改造すればよい。 http://www.php.net/manual/ja/language.oop5.basic.php 関数のコールにもthisが必要なのか。タイピング量が増えて疲れる。 >>255 幅が持てるってのがポイントだ 仕様増えた文の学習を強要されるわけじゃない。レンサバから数万台のクラスターまで対応できる言語になったのだ。 >>257 昔のコードをPHP5.3で動かすとdeprecatedだらけになる。 PHP6になったら動かなくなるぞぉぞぉー なんくるないさ >>258 そりゃそのためのdeprecatedだろ PHP諸君 Eclipse+Javaで行きたまえ。 Javaがタイプ量が多すぎると思っている諸君は、 Eclipseのコード補完に驚くだろう。 Javaの世界では、だれも今時、しこしこ秀丸やvim等のエディターでコードを 書くやつはいない。PHP諸君の間ではいまだに結構いると思うが... >>260 逆だ。 そういうのないとやってられんだけだろ。 >>261 PHP使いもだいぶEclipseやNetbeansを使い始めているぞ。 Zend Studioも結構いるが何しろ有料で高いからな。 >>261 あれだ、コマンド一発で大量の設定ファイル、下書きコードが自動で作成されます。でそれを便利だとありがたがってるやつ 最初がそもそもおかしいからそういうのがいるようになる。前提が不便すぎるのだ。 >>263 あれだ、コマンド一発で大量の設定ファイル、下書きコードが自動で作成されます。でそれを便利だとありがたがってるやつ そういうのがJavaのフレームワークにはありがちだ。そういうのは確かによくない。 hibernateはクソだ。 しかしそれはJavaの責任ではない。そういうフレームワークを使わなければいいのだ。 Servletベースにすれば大量の設定ファイルは必要ない。server.xmlとweb.xmlだけくらいだ。 (これはWebサーバー使う限りどの言語でも必要だ。) >>263 PHPのクラスも同じだよ。 PHPを使う人達にはクラスを使う事が浸透していなだけ。 ま、関数いっぱい用意されてるしクラス化する必要性がまずないからな >>266 cakePHPにしろsymfonyにしろフレームワークを使うとなると、 必要になるんじゃないのかなーーー? まだ使っていないと思うけど PEARのコード見てみ〜。 言語的に不十分なPHP4であれだけきっちり書いてる。 ZSは更にちゃんとしてる >>269 PHPのバージョンアップの流れを考えろや。 これからはフレームワークが必須だろうが。 >>262 cakePHP + NetBeansで快適さ Eclipse(PDT)よりコード補完がベターだ フレームワークがライブラリを置き換えるものではない。 CAKE別にいいと思うがあんな密結合でスケールアウト出来ないのは"これから"じゃないと思うぞ。PHP4でOOPとは言い難いし。書きなぐり用ならOK >>244 スクリーンキャストを見たけど、確かにシンプルだね いわばJava版LL風WEBフレームワークといった感じ。 ちょっとマニュアルを見て見たがcakePHPに似ている。 StrutsでもじゅうぶんLLだとおもうが。 どこが難しいのかさっぱりわからん。 LLの意味は日本と英語圏ではまったく逆。 http://ja.wikipedia.org/wiki/%E8%BB%BD%E9%87%8F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E >英語圏におけるLightweight languages 英語版Wikipediaによれば、Lightweight Languagesは 計算機リソースを多くは消費しないという意味で軽量(Lightweight)であり、 C言語などが例としてあげられている。 つまり、プログラマ負担の軽い言語を意味しない。 よって、日本における軽量プログラミング言語(Lightweight Languages)と 欧米におけるLightweight Languagesは、その「軽量」の意味においてまったく異なるものであり、 英語でPerlやJavaScript、PHPを指し示す場合は、Scripting languagesと表現したほうが妥当であると考えられる。 つまり日本人のLightweightLanguageは和製英語であり、西洋人には通じないので注意しましょう。 外人エンジニアとの議論で混乱するから LBL(Lightweight Brain Language) に改称したらいい。 BLL(Brain-Less Language) では? javaで書かれた関数をWeb cgiで使いたいのだけど トムキャットが無難なの? php が java に構文が近づくってだけでもjavaの完成度は高いよ。 そんなことより一番の恩恵はjvmの進化。 起動時以外はネイティブかそれ以上のパフォーマンスを得られる。 Mono最強伝説 http://ja.wikipedia.org/wiki/XSP_ (Web%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC) なんか全体的にphp使いこなせてないのにphp批判してる連中ばっかだなww プロがフレームワーク使いこなして中規模のwebアプリバリバリ書いてるとこ見たことないだろ 相当キレイに早くwebアプリが作れるし可読性も高くてメンテナンスもしやすい javaでもプロが書けば同じだから、結局は言語仕様ってより使いこなすプログラマの質によるんだよ アプリケーションスコープの有り無しが違いとして大きいかと。 本当に不毛だな。 俺はPHPもJavaもできるがもうWebの時代は終わりだろ。 終わりってゆーか、スマホっていうビックウェーブが来てて 時代はもうそっちだよ。 だからこれからのプログラマは、JavaかObjective-Cができないと駄目だ。 Windows Phoneのことも考えればC#もできるようにしておいた方がいい。 もっと言うとC/C++もできるようにしておいた方がいい。 時代に取り残されたくなければ今のうちに勉強するんだな。 別にスマフォが普及してもサーバ側のプログラミングが 不要になるわけじゃないし。 自分はJavaとObjective-C使えるから別にどうでもいいけど。 >>292 サーバサイドがなくなるとは言ってないが、 メインストリームからは外れるだろ。 汎用機からオープン系に流れたように Webからスマホに主軸は流れるんだよ。 スマフォは画面を出すだけで データの蓄積、重い処理はサーバーに投げることになる 俺も最近Objective-C勉強するためにMacBook(AirでもProでもない)を 中古で6万円で買ったよ。 中古にしては手の良い中古でかなり大満足だ。 Windowsでも開発できるようにしてほしかったがしょうがねぇ。 俺の大学は一年で最初にJavaを使って教えてたんだけど、 今年からついにプログラミングの基礎はPython使って教えることになった。 Pythonなんて金にならない言語覚えてどうすんだろうな。 >>299 COBOLの方がPythonなんかより全然金になる。 (俺はCOBOL知らないがな) サーバーサイドなくしてどうやってコミュニケーション取るの? ゲームとかローカルで完結するアプリがそんなに楽しいか? 上の方でJavaとObjective-Cについて書かれてますが、これはどちらが理解しやすいですか? 自分はPHPはある程度出来る程度です ある程度とはどの程度か? という人によって認識が違いかねない 曖昧模糊な表現への疑問はさておき Objective-Cを覚えるにはあらかじめC言語を習得しているのが望ましい (さらに言えば、Java, C#, C++などのオブジェクト指向言語もあらかじめ習得しているとわかりやすいだろう) JavaとObjective-Cでは、現実的に考えて使用目的が違うのだから 比べるものではないだろう 理解しやすいという意味ではJavaじゃないのかな。 実用性はまた別だけど。 >>303 JavaとObjective-C両方習得しなさい。 人間やりゃあできんだろ? ただ質問に答えるならJavaの方が簡単だよ。 PHP5はJavaのパクリだしね。 現状Androidアプリの開発者は集めやすいが iOSアプリの開発者は集まらないっていうから そっちの方がお金になると思う。 >>302 確かにサーバーサイドなくしては 面白みも何もないアプリの出来上がりだわな。 だが、画面はWebじゃなくてスマホアプリで、 サーバーサイドはWeb APIとしてJSONなりXMLなりを返すだけだ。 サーバーサイドの技術者はもう日陰者になるんだよ。 必要に応じて使い分けようさ プログラマならマルチリンガル種でそ? javaガーとかPHPガーとか言ってる間にいろいろ習得汁 Objectice-Cの前にCかと思うけど、当たり前か。 >>309 C知らないプログラマなんているっけ? いないっしょ。 PHPしか知らない人はたぶん大変だろうなと思うよ。 C言語、Objective-Cの習得は。 覚える順序としてはこれでおk? Python Java C C++ Objective-C C# PHP C,C++,Obejective-CはGCCとClangとどっちがいい? >>313 Obejective-Cは基本Xcodeで。アプリ作るときはただ単にコンパイルするだけじゃ済まないから。 本当にただ純粋なObjective-CをやるだけならWindowsでも多分あるんだろうけど どうしたってMac/iOS特有のCore Foundationなどのフレームワークが他のOSじゃ再現できないしな まあ、Appleが許さんだろってこと つまり開発中のiPhoneアプリをシミュレータでテストするのはMacでないとできない 実機で動かすには年額8400円と面倒な登録が必要 Objective-CをしたきゃMac買えってことだよ言わせんな恥ずかしい Windowsみたいな糞はどうでもいいんだよ Linux/BSDで頑張れば、無理してMac買う必要も無いだろ? Mac買ってしまえば、気に入ってもう戻れないような気がして恐くて買えない。 それにPCのほうがパーツ豊富だし。 MacはUNIXだからUNIX系のサーバー管理がしやすい。 コマンドが基本的に同じだから非常に助かる。 でも先行きどうなんだろ?カリスマの居なくなったAppleがこれまでのようなファンタスティックな衝撃を与えてくれるんだろうか? Apple製品を一つも持ってなくてもウキウキさせくれた。 巨悪M$に対抗出来るのはMacかLinuxしか無い。 それにLinuxに凌駕され静まり返ったBSDコミュの活発化にも拍車をかけた所だったのに。 GNU, Apple, BSD, Googleは相容れない箇所もあるけど全くの水と油じゃなかったからなぁ……。 ジョブズで全部作ったわけじゃないし、Appleは他にも優秀な人材がたくさんいるよ。 将来なんて予測できないものだけど、Appleが一番いい位置にいるのは確か。 【サービス】Google、クラウド型データベース「Google Cloud SQL」を発表 (11/10/07) http://hibari.2ch.net/test/read.cgi/pcnews/1317992728/ javaとphpってどっちが重いの? 使った感じだとphpのほうが軽い気がするけど、、、 画面生成する分だけjavaはきついのかな・・ Java VS PHPという構図は どちらでも使う開発者に取ってはそれぞれの長所/短所を考えながら 使い分ければいいわけでどうでもいいけど、 いかんせんPHPはcliを除くとウェブしか使えないので将来は明るくないかもね。 またPHPしか使えない人は他言語習得に苦労するだろうし。 普段からoopでphp書いてる人ならjavaにも余裕で学べるよ ってか言語の習得なんて根性でなんとでもなる >>327 アプリケーションスコープは、PHPでどのように実現させますか? >>327 C++とOSの知識があれば、言語なんかなんだって良い。 処理効率と開発効率で選ぶだけ。 >>331 JavaのapplicationスコープをPHPで実現させる方法を教えてください。 >>332 あのさ、「oopでphp書いてる人ならjavaにも余裕で学べる」って意見に PHPで〜〜実現するにはどうするんだって突っ込みおかしくない? 「oopでphp書いてる人ならjavaにも余裕で学べる」って意見を書く人は JavaとPHP双方を理解しているはずなので以下のことを聞きたいのです。 「JavaのapplicationスコープをPHPで実現させる方法を教えてください。」 「oopでphp書いてる人ならjavaにも余裕で学べる」と考える方へ質問いたします。 PHPのhtmlspecialchars関数と同じような機能をJavaで実現するためにはどのような方法が考えられますか? 言語なんてどれでもいいとか、いろいろ出来るって奴は何も出来ないって事だよな 極まったレベルになったら差異が相当でてくるし >JavaのapplicationスコープをPHPで実現させる方法を教えてください。 この質問した奴がもの凄くバカだってことだけはわかった >>344 君は遊ばれたことにようやく 気付いたの? >>327 = >>340 = >> 344 結構おもしろい人だね。 >>344 あなたは本当にJavaとPHP双方わかっているのですか? そんな質問の答えは「無い」と即答すべきでしょ? requestとsessionに加えてapplicationスコープがあるJavaと applicationスコープがないPHPでは設計が違ってくるし、超えられない壁でしょ? phpって遅いのかと思ったけど 割とパキパキ動くので好き >>348 OpenPneやら、WordPressやらでPHPの遅さを嫌持って体験しているとそういう気にはなれないね。 Phalanger - The PHP Language Compiler for the .NET Framework http://ja.wikipedia.org/wiki/Phalanger >>349 CMS系は、間口広く取りすぎて、重くなってるんだと思う。 >>351 それ以上にapplication scopeがないことが大きい。 DBへデータ取りに行ってもそのデータを他者と共有できない。 できることはせいぜいキャッシュくらい。 application scopeなんか使うか? 使ってんの見たことないんだが。 application scopeってシングルトンでデータもってるのと何か違うの? セッションスコープはユーザーのアクセスに対してユーザー毎に変数を保持する。 仮にDBにサイトのお知らせデータがあるとしよう。お知らせデータ自体は特定ユーザー固有の情報ではない。 あるユーザーがDBからお知らせデータ取ってきてセッションに格納したとする。そのデータ自体は特定ユーザーのものではないが、セッションスコープは特定ユーザーにひもづいているため 他のユーザーは利用したくても利用できず別にDBへアクセスする必要がある。 アプリケーションスコープは全ユーザー共通のスコープなので、あるユーザーがDBからお知らせデータを取ってきてアプリケーションスコープへ格納すれば他のユーザーもそのデータを利用できる。他のユーザーはDBへアクセスする必要がない。 まとめれば 利用したいデータが全ユーザー共通の場合、セッションスコープしかなければユーザー別にDBへアクセスする必要があるが、アプリケーションスコープがあればDBへアクセスするのは1ユーザーが1回DBへ取りに行けば済み、あとはそのデータを使い回す。 >>357 php知らないけど、出来るだろ。 ユーザのセッションIDに紐付けるデータと、全ユーザで共通に使うデータを分けるだけだろ。 別にCで書いたっていいし。 >>355 それならシングルトンクラスにデータ保持するのと一緒だよね。 アプリケーションスコープは アプリケーションの起動時、停止時にopen(), close() されるようなものだけを置くべきじゃない? phpはセッションあるけどアプリケーションスコープないんだっけ? でもシングルトンでほぼ同じことができるはず 結局、ここの人たちは両言語の機能の違いも知らないわけ?このスレ意味ないじゃん。シングルトン?C言語? PHPのグローバル変数 or static変数が アプリケーション間で共有できないなら アプリケーションスコープは不可能だな。 PHPなんて知らんが。 Servletのアプリケーションスコープは 単なるハッシュでリクエスト間のスレッド同期も何もしてないはずだから グローバル変数でデータ持っておくのと実質かわらナインよ。 PHPのシングルトンはプロセス単位では別プロセスからは参照できない。 またオブジェクトの永続性もない。PHPに加えてmemcachedなどを入れない限り、アプリケーションスコープのようなもの通常不可能。 もしできるのであればWordPressを改良してほしい。ユーザーごとに同じクエリを発行してムダすぎる。 このスレ読んでいるとプロセスで動くPHP寄りの人とマルチスレッドのJava寄り人と メモリー空間の理解の仕方が違うから興味深い。 PHPはマルチスレッドではないのでJavaのように同一メモリ空間で動くわけじゃない。だからapplication scopeはないし、無理。また、マルチスレッド言語のシングルトンと同じ意味でPHPのシングルトンを言及するのはおかしい。 え!? 最近のPHP(mod_php)なら1プロセス起動しっぱなしで リクエストごとにスレッド作るServletと同じ仕組みだと思ってたけど、 いまだに1リクエスト1プロセス、そもそもスレッド無いとかPHP終わってるね。 >>366 だからphpで大規模サイトとか、複雑なやつは作りにくい。 逆に言えば小規模サイトが作りやすい、とも思わないけどな。 結局レンタルサーバの都合だけでphp人気なんじゃないの? Javaはメモリ食うのとデプロイが面倒だから、ファイル置けばOKのPHPに比べて敷居が高い。 大規模だとPHPという選択はありえないけど。 学校なんかでは、実用性とか関係なく、とにかく、まずJavaを学ぶ。 これはプログラミングを学ぶという意味でね。 でも、仕事では、もっぱらPHPだね。 WebでJava使うのはいまや業務系だけだろ。 今流行のソーシャルアプリとかスマホアプリのサーバーサイドとかは PHP以外ありえん。 いない訳じゃないと思うんだ しっかりした技術持ってる奴はPHP以外の言語も学んでるから、安いレン鯖前提でもなけりゃ他の言語提案に流れてるんじゃまいか ヘボいスクールで学んだ程度の使えない人材(?)ならいくらでもいるんだけどねえ 有能な人材であれば他の言語も覚える。 無能な人材はPHPに固執する。 >>372 JavaでPHPの関数のhtmlspecialchars()のような機能を実現するためには どのようにしたらよろしいでしょうか? お詳しそうなのでご教授ください。 俺なんか最近まで全部Cで書いて、コンパイルして、CGIで動かしてた。 PHPにしたら、死ぬほど楽。 ライブラリはそろってるし、makeして移動してテストしてみたなメンドくさい作業も要らないし。 速度が遅いかもしれないけど、最近のサーバは性能良いしね。 誰か、ネイティブコードにコンパイル可能なPHPみたいなの作らないかな・・。 売れる気がする。 >>377 PHPはコンパイル型になってもアーキテクチャがマルチプロセスなのでパフォーマンスはあまり変わらないですよ。 苦手なりに赤背景部分読んでみた。こういう分かりやすい正直な警鐘出すとこは好感持てるね たしかにPHPだとシングルトンってただのグローバルに比べてもうまみが薄いよねえ シングルトンも意味をなさないPHPではOOPは無理がある思う。PHPが真価を発揮させやすいのは構造化プログラミング。それが一番処理が早い。 PHPのシリアライズはバグがあるみたいね。分散処理させない小規模なシステムではあまり影響はないけど、 大規模では使えない。 へ?そらいくらなんでも強弁じゃね もちろんマルチプロセス前提で普及したゆえに適用できない著名デザパタがあるって事自体は弱みだと思うけどさ 実際のところ、phpはインタープリッタなのでOOPすれば実行時の解釈量が増え、オーバーベッドが高まる。 OpenPNEみたいな悲惨なパフォーマンスみればやっぱり無理してるんだなと思う。 キャッシュでごまかしてはいるけれどもね そこは異論ないな キャッシュやDBテクでごまかせん規模が容易に予想される分野にゃ辛いw 20年くらい前にさ、「自分で言語を作ろう!」みたいな雑誌の企画や本が結構出版されてた。 構文解析してスタックに詰めて、みたいな・・。 今、どうなんだろう。 今もやってるなら、コンパイル可能なPHPライクな言語を時間がある学生が作れば良いのに・・。 途中一回C変換する、プリコンパイル形式なら、簡単とは言わないけど、難しくは無い土方仕事の気がする。 scalaみたいに他言語のソースコードへ変換されるだけ言語なら作れるかもしれんな。 マルチプラットフォームのランタイムとかだれも作りたくねーし。 扱いやすいJavaのフレームワーク(環境設定の自動化も含めた) を作ったほうが現実的だな。 Quercusがあるのでは?Javaで実装されたphp。。 現在のところマルチバイトがやや難ありだけど生のphpよりも早い感じ。 PHPでコネクションプーリングはどうやるのですか? mysqlはコネクションプーリングしないほうがいいらしい PHPの特徴をまとめた。 ・アプリケーションスコープが存在しない ・マルチスレッドではなく、マルチプロセスで動作 ・シリアライズはバグがあるため、使用に耐えない ・マルチプロセスのためシングルトンは本来の意味をなさない ・OOPはオーバーヘッドをまねく ・コネクションプーリングがない ・インタプリタ方式のため配備が容易である反面、実行が緩慢 ・複雑なロジック構築には向かない PHPでリアルタイム通信対戦のテーブルゲームのサーバーぐらいなら 書けるって聞いたんですが無理なんですか? というか基本的になんでも書けると聞いたのですが無理だとしたらすでに 発注したPHPの本はいったい・・・ こんな程度の低いゲームボーイが集まるのがPHP 国家経済の中核を担うミッションクリティカルな 大規模エンタープライズシステムを任せられるのがJava まあそれは置いといて、PHPってそんなに遅いのか? mod_phpってコンパイルとまではいかなくても 構文解析とかでそれなりに前処理するから 速いとか聞いてたが遅いと言う人もいてわからん。 PHPは基本速度が遅い事よりキャッシュを作るのに いちいちDB使う必要があるのが致命的だな。 >>402 余程人気出たら落ちるかもね。しかし言語問わず素人設計ならアクセスはじけりゃ落ちるもんだ PHPだから駄目なんだ、って所まで行く頃には人雇ったり外注化する予算なんか計上できてなきゃいかんと思うが なんでPHPでやろうと思ったの? >>406 今一番主流で速いのはPHPだと聞いたので・・・ PHPでもよほどアクセスが増えなければやっていけるのですね ならばとりあえずPHPをマスターしたあとJava勉強してみます どのようなシステムか詳細は不明だが、 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でも平行処理なんて出来ないだぜ >>507 Javaでhtmlspecialchars()相当の機能を実装する方法を教えてください。当然、ご存知ですよね >>507 htmlspecialchars()をJavaでどう実現するの? 俺も聞きたいな。 俺が代わりに教えてやんよ! sub htmlspecialchars($str) { $javao = s/&/&/g; $javao = s/"/"/g; $javao = s/</</g; $javao = s/>/>/g; } function htmlspecialcars(str) { str.replaceA(/&/g, 'and'); str.replaceA(/"/g, 'quote'); str.replaceA(/</g, 'lt'); str.replaceA(/>/g, 'rt'); return str; } こうだっけ? htmlspecialchars()がない言語なんて難しすぎて俺には無理だ どう考えてもライブラリレベルで十分だと思うが 言語レベルでは必要なし >>507 htmlspecialchars()と同等機能をJavaで実現する方法すら語れないのかい? 君は不勉強すぎない? PHPで分散オブジェクト? 根本的に言語の選択間違っていると思うが、へーーー、すごい。 あとゲーム君な なんでPHPやねんと 低負荷でも動くモンできたんだろか >>524 htmlspecialchars()をJavaで実現するためにはどうするの? PHPで分散オブジェクトとかいう変態くん、 再登場求む! JavaフレームワークのStrutsの拡張子がdo つまりindex.doとかでググルといいんじゃねとおもうわけよ >>528 やっと登場されましたね。 それではお答えください。 htmlspecialchars()をJavaで実現するためにはどうするの? >>529 今度はあなたがお答えください。 PHPでhtmlspecialchars()をしないでも、 勝手にエスケープされるようにするにはどうすればいい? PHPでもRailsでもないとすると、後はJavaかASP(.Net)ぐらいだよなぁ PerlとかPythonとかはそんなに多くなさげ あ、moinmoinとかあるか ワンパターンの問題ばっかり出してる奴が、一番レベル低いわw ワンパターンな奴は、やり方もワンパターンで他の方法を知らない 技術が古い、EJBの代替を知らない >>537 ね〜、ね〜。 あなたの高い技術、facebookで生かしてみたら? 連中相当困っているみたいで今C++でやってるみたいよ。 拡張子をdoに変えてアクセスできちゃうサイトは JavaのStrutsで作られたサイトですな 最近strutsの話あんま聞かないな 今でも採用案件豊富なんかな 国外はspring, 国内はSeaser(S2Struts)が人気だそうで。 まあ他人が責任もって開発運用するならなんでもいいんだけどね。 趣味でやる分には美学とか好みが重要なわけで。 PHPの特徴(Javaと比較して) ・やっつけ仕事にはもっていこい ・アプリケーションスコープが存在しない ・マルチスレッドではなく、マルチプロセスで動作 ・シリアライズはバグがあるため、使用に耐えない ・マルチプロセスのためシングルトンは本来の意味をなさない ・OOPはオーバーヘッドをまねく ・コネクションプーリングがない ・インタプリタ方式のため配備が容易である反面、実行が緩慢 ・複雑なロジック構築には向かない ・大規模プロジェクトには向かない ・高いスキルをもつ技術者がいない(有能な技術者は他へ流れる) ・EJBに相当する機能がない ・技術者の給与が低い JavaしかできないとかPHPしかできないとかマジ終わってるわ。 業務システムとかはJavaじゃないと駄目だろうし スマホアプリのサーバーサイドAPIとかソーシャルアプリとかはPHPとか 適材適所だろ。 Webプログラマならどっちも使えるようにしとけよ。 あと、言語だけじゃなくて有名なフレームワークを一通り知っておかないと 意味ねーからな。 もっと言うと今時Webプログラマなんてどうよ? スマホだろ時代は。 おっしゃる通り。 スマホ時代になってきてPHPが廃れてきた。 本屋さんに行けばPHPの本が一昔まえに比べるとかなり減ったのに気づく。 代わりに増えてきたのがAndroid(Java)やObjective-C、ActionScript3.0など スマホアプリを開発できる言語を解説する本。 ほとんどサーバーサイドでしか使えないPHPはもうその時代ではない。 >Webプログラマならどっちも使えるようにしとけよ。 >あと、言語だけじゃなくて有名なフレームワークを一通り知っておかないと >意味ねーからな。 それただの土方だろw saas運営(サービスプロバイダ)ならJava一択。 Web, Android, Swingができるし、他のクライアントサイドは外注する。 「Perlで有名な小飼弾に暴言を吐いたキチガイw OSSコミュニティから物凄いパッシングw」 http://blog.livedoor.jp/dankogai/archives/51733482.html 北畠徹也氏が代表の「テラ・インターナショナル」がPerlを勝手に商標登録 >>この北畠って人は、ツイッターとかでも自殺するって言って話題になったり よく分からないNPOか何かに募金をしてくれってメールを数万人規模のMLに流したり それらは実はチョットした技術的ミスだって釈明してたりする人らしいね Tetsuya_K 北畠徹也 @dankogai の家に電話したら、「小飼弾は死にました」らしい。ざまみろ。ざまみろ。というか、死んだ方が社会にとって幸せ。以上。# どうでもいいが、jcode.plなんて簡単につくれるじゃろ。あんなので調子に乗るアホもどうかしてるぜ。 Tetsuya_K 北畠徹也 I compared my @klout with @dankogai, how does your @klout compare? klout.com/user/dankogai/… @Tetsuya_K に比べたら全く大したことねーな。大口叩く愚か者が。 コメントの一覧 「みんなおもしろいおもしろいいってるけど北畠さん完全にかわいそうな精神病の患者ですよね」 「コメント欄が病的で怖い。人格が分裂してる?」 「本当に何がしたかったんだろう・・・」 「無事取り消されたそうで。本当によかった。」 PHPしか使えない人はかわいそう。 これから生きる道がなくなってくる。 URL見てわかったんだけど、ここってPHP板だよね。 たかが言語如きで叩かないといられないってのはどういう? PHPユーザがバカだから仕方がない。 PHPはホビー(Notプログラマー)専用で収まっておくべし。 PHPは嫌いだけどCライクな(単純な) Web用スクリプトがあってもいいとは思う。 C++とLUAを組み合わせるみたいに Java・C#とインタプリタ言語の組み合わせがあってもいいはず。 PHPでシングルトンをJavaと同じ感覚で使っている大馬鹿者が現実にいたw 笑ったよ。おもいっきりアホなバグを出していた。 確かにコードは似ている。しかしメモリ空間が根本的に違うだろ。 PHPオンリーのみなさんもウェブ上に転がっているJavaの シングルトンの説明がそのままPHPで適用できると思わないでねw PHPはマルチスレッドではありませんのであまり意味ありません。 そのことは公式サイトにも載っているしね。 >メモリ空間 pythonやrubyだとどうなんだろ phpだけがおかしいのか? >>>>556 PHPが「おかしい」というより、それは言語の特性。 プロセスが複数生成され、それに伴って当然メモリ空間がバラバラになる。 サイト全体で共有できるメモリ空間がない。 シングルトンが本来の意味をもたないのは当たり前。 こういう特性だからPHPはJavaに比べると特にDBを使うサイトでは設計が難しい。 DBから取ってきたデータをキャッシュできないからDBへの負荷もかかる。 圧倒的に不利。OpenPNEやWordPressが激重なのも当然。 その特性(欠点)を補うためにはmemcachedという汎用の メモリキャッシュシステムを入れるとなんとかならないこともない。 しかし、言語レベルでサイト全体のメモリサポートがあるJavaと比べると 使い勝手が悪いのは間違いない。 >>557 どのみちJava単体じゃスケールアウトなんてできないんだから、 memcachedなどのシステムは必要になるだろ >>558 Java単体というどういう意味ですか? >>561 PHPは通常Apache HTTP Serverに寄生して動く。 で、サーバーサイドJavaはどうやって動かすのですか? 言語特性知ってれば外はPHP、内はJava 領域を大きく犯すようなシステムが必要ならば、場合によっては言語切り替えちゃえばいい。 くらいの話が普通に出てきそうなんだけど、 縛りプレイ好きが多いのか、片方の言語しか知らないのか、ただのバカなのか ってのが多いな。 >>562 だからPHPは「通常」・・・、って書いてるやん。 Apacheのシェアが60%もあるのに「通常」は変ですか? >>567 で、サーバーサイドJavaはどうやって動かすのですか? >>569 で、サーバーサイドJavaはどうやって動かすのですか? >>558 Java単体とは何を意味していますかw? >>572 サーバーはTomcatだけじゃないぞ! PHPはスタンドアロンが作れないからPHPでサーバーを作れないだろ。 Javaはスタンドアロンが作れるからJavaでサーバーが作れる。 Javaで作られたサーバーはTomcat(Apache), JBoss(Redhat), GlashFish(Oracle), WebSphere(IBM)などがある。 Apacheは使ってもいいし、使わなくてもいい。 >>558 この人、Javaのこと何もわかっていない・・・。 だからjavaとjspは違うって何度言ったら javaでまとめてタグ書いてみろよ Javaは時代遅れでキモい言語だからもう廃れるかと思いきや Androidで息を吹き返しやがった。 まぁでもサーバーサイドAPIはPHP、スマホ側はJavaもしくはObj-Cでいいや。 >>578 バカだなあ 自分の好きな言語を使えばいいだろ rubyやpythonならともかく、 perlから生えたような時代遅れの糞言語PHPがjavaを叩けるものかw でもウェブアプリでは使用率PHP>Javaなんだよな JavaEEのウェブサービスってどんなのがあるの? phpだとFacebookをはじめたくさんあるよね Javaは銀行の業務システムとかBtoB法人向けで使われてるからねー。 サイボウズとかにも使われてるけどURLに〜.phpみたいなのが付かないから 部外者には気付きにくい。 facebookはPHPをはじめに導入したことを激しく後悔しているはず かといって、facebookがjavaを採用してたらよかったかというと、そうとも思えない twitterはjavaで作り直しているらしいね。 金があって、それなりのレベルの技術者がいるうちはJavaもいいかもね >>582 >>587 facebookで使われている大規模分散システムはJava。 Apache Hadoop。 つまり基幹はC++とJava。 >>547 スマホは長くは続かないと思う。 スマホに変えて後悔してる層がいっぱいいる。 次の機種変ではガラケに変わるだろう。 どうかなぁ 今はちょっといろいろ不安定だしあれだけど ガラケーだって一時期はもっさりしたりしてたし スマホも洗練されてくるはず。 PHPってどこでセッション情報管理してんの? Javaでいうアプリサーバ(Tomcat等)にあたる仕事はapacheモジュールだけでやってるの? java使えばクライアントのMACアドレス取得できますか? 大昔にPHPがやたらと選ばれた理由は特別な設定なしに格安のレンタルサーバで動いたからだろう。 現代においてはGoogle App EngineやAWSがあるから、知識のない個人でもJava Servletを動作させることができる環境が整った。 GAEを例にあげるとEclipse用プラグインがあるため、Deploy(サーバにプログラムを設置)はボタン押すだけで終わり。 Datastoreはテーブル作成用のSQL書かなくてもMVCのModel定義を書くだけで自動的に作成される。 LAMP環境より簡単になった。 そして格安レンサバでは不可能なスケールアウトも容易。 ベンダロックインが怖いのならGAEのようなPaaSではなく、AWSなどのIaaSにすると良い。 サーバーサイドのプログラムを勉強しようと考えているのですが、 やはりJavaServletは選択しないほうがよく、 PHPかRubyを使うべきなのでしょうか? なんかWebではJAVAの批判をよく聞くので・・・ うーん。どうだろうね。きっちりしたシステム作るなら タイプセーフなJavaのほうがいいだろうけど。 なんとなく動いてればいいシステムはPHPがいいんじゃないかな。 なるほど−。 Javaのセキュリティが〜なんて聞くのですが、 別にそれはクリティカルなものではないって事ですか。 java自体はセーフなんだろけど その分webセキュリティの知識が甘いエンジニアが多い印象がある javaは学習コストが大きいから言語以外に目がいかないのかもしれない Javaはこれがデファクトというフレームワークがないから難しい。 テンプレートエンジンも乱立しすぎてワケワカメ。 Eclipseのバックアップがあるから何とかなっているが… 個人的にはPythonかRubyをオススメしたい PHPはちょっとあり得んな 最強はASP.NET MVCだ。異論は認めない。 あとはどんぐりの背比べ PHPはマルチスレッドプログラミングができないからな >>603 ちょっと考え方が違うと思う セキュリティの知識が甘くてもある程度の水準を保てるのがJavaで、 セキュリティの話になると一気に敷居が上がるPHPのほうがむしろ学習コストは大きい気がする。 Javaはインジェクション関係はかなり早期に克服されてたような テキストデータのHTMLエンコードとかSQLインジェクションとかね Java構築システム例 http://www.e-survey.go.jp/ いや、拡張子隠せやっていう ローカル公開のちょっとしたシステムならPHP それ以外はjava いつになったらJavaは=でクラスの公開プロパティに値を入れられる様になるの? いつになったらJavaは.変数名 だけで公開プロパティの値を取得できる様になるの? >>602 確かに騒がれたけど、あれってサーバサイドの話でしょ。(ちょっと自信ないけど・・) つまり、サーバに進入できなければ意味なし、or JSPにJavaロジック(Clientで動くAppletとか)埋めるような事しなければ。 オラクルDBならJAVA。どうせmysqlなんだしPHP。 Javaやってる奴はJavaしかしらない馬鹿が多い。 JacascriptとかAjax弱いのが多い。 >>617 そりゃ、JavaでGUIにしちゃった方が楽でいろいろできるからな。 >>618 いや、JavaはUI向け言語じゃないと思う。 作った人が悪いのかもしれないけど、VBチックだととっつきやすいのかもしれない。 Listnerイベントバカバカ作るのはすきじゃない、メモリリークもきにしないといけないし。 やっぱり、JavaScript,Ajaxが実装しやすい。 Aplet,Android言語として未完成って気がする。 >>619 Javaをよく知らないで、VBのやり方でやりたいならVBでやればいいだろ。 バックエンドはJava、フロントエンドはPHP。Web系開発案件はこれで決まりっぽいです。 >>622 同意。むりやりPHPねじ込む意味が無い。 改修時にアサインする難易度も変わってくる。 基本、Javaだろ。どんどん自動化してるし。 PHPもフレームワークかが一般的になって単価も上がってる。 同じレベルの予算がかかるようになれば、PHPを選択するメリットがまず無くなってく。 PHPの単価が上がっただど!あんなバカチョン言語、単価が下がってなんぼだろ。マジで終わるぞPHP! >>620 JavaとVBを比較してるだけ。 そもそも、開発者に一覧要素のどの部分が表示されているか分かるように、 tag要素、コントロールの見た目を少し変えるだけなのに、カスタムスタイルクラス を作って、全体をラッピングさせないといけないとか、クソ極まりない。Android Listnerイベントも生成、破棄させるとか、そんなの開発者側の必須ソースに 含ませるなと言いたい。 ただでさえ、業務系ではそれに特化したビジネスロジックは肥大化する。 未熟なんだよ、UI言語としては。HTML5&CSS3で充分。ネットゲームもほとんど、 WebViewのUIはHTML&JSだろ。不完全なんだよ、言語として。 ただ、PHPのメリットと聞かれると何一つ無い。全てJavaでカバーできるから。 単価ぐらいか、ほんと。 >>627 言語が自分の開発スタイルに合わせるべきだとは、斬新な考えだな。 なんでJavaの話がいきなりAndroidになったか知らないが、Javafxならcssで見た目だけ変えられるぞ。 >>628 >なんでJavaの話がいきなりAndroidになったか知らないが Androidのアプリ開発はJava。ただ違うのは一般的なWEBサーバサイドだけではなく、 UIも含まれているってこと。色々な言語を体験して、JavaのUI込みの開発をした場合の比較してるだけ。 自分もやってから話したらどうだ? JavaFXは俺も期待して少しかじったんだけど、結局Oracleが買収して、やめちゃったんだろ? でも、やっぱりJavaの悲願はUI込みのもの。 Appletがあまり浸透しないように、技術者から見たらまだまだなんだよね。 作れるっちゃ作れるんだけど、細かいカスタマイズなど技術者任せのロジック・概念が多すぎる。 その結果、ソースが肥大化しちゃう。 >>629 言語がJavaなだけで、VMもAPIもJavaと違う部分が多いし、UIに関してはまったく独自。開発したことあるならだ誰でもわかる話。聞きかじっただけだな。 FXを止めたという話ははじめて聞いた。開発のための会社が買収されたから滞ってるだけだと思ってた。 なんでもAPIに頼らないとできない技術者は要らないな。というか、技術者なら自分で作るから、技術者ですらない。 >>630 >FXを止めたという話ははじめて聞いた。開発のための会社が買収されたから滞ってるだけだと思ってた。 たぶん、自分も含め、多くのJava技術者も期待してたと思う。 できばえも充分だと思っていた矢先だけに正直がっかりした。 去年か一昨年のJavaOneのフォーマルで発表済みのはず。 でも、もったいないからって、どこかの団体継承する、しないなんて話もあったような。 ほんともったいないし、目指す方向性も間違っていなかったと思う。 なんと言っても、スマホが登場して、クロスブラウザ&多端末対応が必要とされだしていた 矢先で、UIもJavaの理念のJVM上であれば、プラットフォームは問わず動作する環境ができれば ほんとに凄いと思った。。 >>630 >なんでもAPIに頼らないとできない技術者は要らないな。というか、技術者なら自分で作るから、技術者ですらない。 こういう考えの技術者が多いからJavaの開発効率が悪いって言われてるんだろうな。 口だけでなかなか終わらない、いいから早く作れよっていつも思う。 会社はJavaが好きで取り入れてるんじゃない、Javaしかないから大金を投資してる。 業務を効率化、売上げ・収益に貢献しているから投資してるんだって事。 趣味でJava好きなら自分の家で休日にでもいじってろって。 開発効率を無視したシステムなんて会社に寄与しない。昨今良く効くようになったアジャイル開発とか、求められるのは可読性(保守運用)と開発効率。 JSなら簡単に自作できるものが、Javaでは大きくなる。 これは、言語的違いによるものだろ。 まぁ、この議題の論点に戻る(Java VS PHP)と、PHPはこんな話もできないわけで言語としての拡張性もJavaの信頼性も無い。 普通に考えてJava。一時的で安くって言うならPHPでいいんじゃない? >>632 その作ったものをライブラリ化して公開するという、技術力とコミュニケーション能力が貴方にはないんですね。 大量に公開されている、ライブラリを利用することすらもできないなんて。 >>633 そういう自分はどうなんだ? ライブラリはあらゆるものを使わせてもらってるよ。SAStruts,Doma,DBFlute,S2JDBC,s2Chronos,jsonoic,JCS,jQuery,Dojo,DWR,数えきれないぐらいにね。 ある意味それらを使いこなせないと技術者といえない。ありがたく思ってるよ。でも、そんなに俺はJavaに惚れた技術者じゃない、会社にシステムがどう寄与するかを常に考えようとしてるんで。 言語なんて流行りもんだから。新しい言語がシェアを占めれば、仕事から追い出され、それこそJavaなんて趣味の家でやってくれって言われるようになるだろう。 大規模システム、長期間の運用(Java技術者のアサイン可否)、負荷分散、あらゆる点からJavaが選択されてるだけ(資金に余裕のあるところは)。 それに加え、これから必ずビッグデータ対応も含まれる。 DBだけのバックエンドで吸収できるかは不安だが、PHPもこれに対して何か手段があるだろうか? >>634 まずライブラリ管理ツールが充実してからだろ。してないプラットホームでライブラリ使いまくるとか、管理のことをまったく考えていない。 そっか、下請けは流行りに乗るしかないんだね。一次請けは自分で最適な構成を決めるから。場合によってはlispだって選ぶ。 >>635 下請けをバカにしてるの? 横からスマンが貴方の言葉には棘があり過ぎると思います。 せっかく良い話してるんだから、もう少し相手の事を考えて書き込みしてくれると助かります。 >>636 どう受け取るかは自由だが、相手を喜ばすためにレスしてるわけではない。 >>637 貴方のためのスレでもない認識はありますか? スレ違いなので多くは語りませんが、ごくあたりまえの事を書いたまでです。 これ以上はご自身で考えてみてください。 >>638 2chに何を期待しているんだ。せめて本スレ行け。 こんなスレがあったんだな。 PHPとJavaを比較する場合、Appサーバがフリーで提供されてるかどうかだろ。 PHPはApacheに頼り切りでWebサーバに依存してしまうため分散化がしにくい、 対してJavaはtomcatは基本Appサーバだから分散化がしやすい。 パフォーマンス面ではPHPは所詮スクリプト言語だからどう頑張ってもJavaには敵わない。 コード云々以前にアーキテクチャに違いがある。 もっともWebサーバにNginxなどを使えばPHPでも分散化出来るけど、 分散化するような状況になるのはパフォーマンスが欲しい場合なわけで、 そうなるとPHPじゃなくてJavaにしろよという話になる。 ここまでだとJavaの方が優れているように聞こえるが、 Javaの方がPHPよりも開発工数が掛かるのはどうしようもなく避けがたく、 小規模システムをJavaで作るのは愚の骨頂。 手っ取り早く小規模システム作るならPHP、ある程度の規模になったらJava。 それぞれ得意分野が異なり活躍する土俵が違うのだから、 それを比較したところで意味がない。 phpと方がウェブデザイナーから来た奴多くて工数安いからな。 >>641 その認識も大きな間違い。Java技術者で現場に入った事がある人なら分かるが、無駄な事が多すぎる。 正確に言うと大規模開発は人員が必要と技術も知識も無い、PM&責任者の判断のせい。 営業の人間が唄う「開発効率XX%改善」とかパフォーマンスアップ、とかに踊らされてるだけ。 JUnit,Jenkince,GitHub,SVN,Redmine,BRMSとか、ほとんどアプリ外やテストツール。 こんなのに工数かけなければいけないし、初めてでは覚えなくちゃいけない。この工数も馬鹿にならない、人為ミスが発生したらそれをルールどおりに直す工数も発生する。 多くのJava技術者は感じてるんじゃないですか、アホですわ。 仕様書も意味の薄いユースケース図やクラス図。誰が見るんだよってレベルのドキュメント化(実際、一旦運用に入ったら誰も見ない。頻繁に変わるし)。 そういう意味では、PHPの現場は工数の安さもあるが、アプリに集中、動作品に特化した開発スタイルが一般的。 俺が技術的ツール、概念で営業の人間の思惑無しに簡易でシステムに寄与すると感じたのは、SAStruts(感動した)、メモリキャッシュ、Ajaxぐらい。あとはほとんど嘘。 PHPの開発概念は「正」だと思う。この概念をJavaに持ち込めば、成果品を単純に比較すればソース量もそう変わらないんだよ。 もちろん、スピードもね。 >>635 >まずライブラリ管理ツールが充実してからだろ。してないプラットホームでライブラリ使いまくるとか、管理のことをまったく考えていない。 >そっか、下請けは流行りに乗るしかないんだね。一次請けは自分で最適な構成を決めるから。場合によってはlispだって選ぶ。 ほんとにJavaをかじった技術者なのか?まさしく、643で書いた「技術も知識も無い、PM&責任者の判断」の考え。 営業者やツールの紹介文だけ読んで、鵜呑みにして予算だけ入れて、開発効率を著しく落としている奴の考え。 俺が発注元だったら、絶対開発依頼したくない典型。開発が始まって納期に間に合わず、予算を吸い上げようとする、ヒルみたいな奴ら。 (一旦開発が始まったら未完にできない発注もとの弱みに付け入る開発会社。ごまんといるよな) 自分らは働かず、マージンだけを取る人材派遣の営業にも言える事だけどな。 技術屋なんて何かの言語で丸々システムを作れる、構成・負荷を想定できればとりあえずはOKだと思う。 Javaにしろ、PHPにしろ、どっぷり浸かって、これから定年までこれに頼り切るんだと思う方がリスクがあると思うよ。 職人のような大工と違い、コンピュータの中の世界。プログラマは彼らのような職人にはなれない。 パソコンが不要な業種もごまんとある。システムを通して、どうその企業の利益に貢献できるか、業務を改善できるか、 その考えは常に持っていないといけない。 (俺のようなフリーのシステム屋にとってはね。会社でのうのうと使いまわされ、幸せと感じてるんならそれも結構。だが、一つに依存しすぎてもその会社に突然死が訪れるかもしれないのは覚悟は持っていた方が良い) Javaの業界の現状は、営業やコンサルの口車に載せられすぎだと思う。 まぁ、彼らも生きる為に必死に考えて、笑顔を振りまいているんだろうけど、尊敬は一生できない業態だわな。 まぁ、JavaはWEBだけじゃなく、冷蔵庫やバイオ、人工知能にもフィールドは無限にある。 PHPはWEBで終わり。だろ? >>644 要点をまとめられない開発者の話は聞くまでもない。帰れ。と、俺が発注元だったら言う。 >>645 要点をまとめられないどころか、お前はシステムの基本的知識も持ち合わせてないようだ。 議論も出来ない。と俺も言う。。 >>646 愚痴言いたいだけならblogに書いとけ。 何か議論したいなら、論点を80文字以内にまとめろ。 >>647 何様だが知らんが、書きたい事書いたし、もう書くつもりもないから安心しろ、馬鹿。 Javaに携わる者として、現状と問題点を書いたつもり。 JavaとPHPなら、Java。そして、本質の工数も本来変わらないと思う。 JavaとPHPは対立軸にはならない。 現場で働いてればわかる。 カレーと牛丼の優劣つけようとしても仕方がない。 Javaの人は他の言語使わないよねって話なのに、結論はphpよりJavaとは。脈絡のない長文書いて読む気なくさせ、結論どやっってことか。 int method(String[] args){ // 長い長いロジック return 2; } こんな感じか。 >>650 俺はJavaもPHPもやった事あるよ。 でも、やっぱり開発手法が違う。どうシステムを完成させるかって姿勢が。 Java,PHPどちらを選ぶかって言ったら、やっぱりJava。 システムの規模によってくるんだけど、後々考えるとJavaで作ってた方が安心。 PHPのWebサービスをJavaに書き換えたいんだけど、 何年もかけて作ってきたものだから、 新たに書き換えるだけの気力が湧いてこない。。 年取ると気力がなくなるね。。 誰でも簡単にネットで稼げる方法など 参考までに、 ⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。 グーグル検索⇒『半藤のブブイウイウレレ』 CHDN12DEM5 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。 FYTYV >>655 気力がなくなったのではなく、慎重になったのだろう。 「phpのJavaへのポート、本当に必要か?」培った経験が、疑問を投げかけてるのだ。 私たち日本人の、日本国憲法を改正しましょう。 総ム省の、『憲法改正國民投票法』、でググって みてください。拡散も含め、お願い致します。 read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる