トップページ⇒php
1001コメント254KB

今はPHPの時代Perlがこの先生きのこるのは無理3

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/05/24(火) 14:32:01ID:6a7n1dhF
過去スレ
これからはPHPの時代Perlはもう終わりバイバイ2(dat落ち)
hhttp://pc8.2ch.net/test/read.cgi/php/1046194468/
Perlはもう時代遅れPHPの時代
http://pc2.2ch.net/php/kako/1036/10369/1036915437.html

PHP最高!!!!
Perl、Ruby、 Python全部もう糞!
0667nobodyさん2005/09/02(金) 11:17:57ID:???
「る」が「ゐ」に見えた
0668nobodyさん2005/09/02(金) 12:53:48ID:???

   ___________________________
   ||                          
   || 夏休みは終わりです。学校へ行きましょう…」
   ||           _,,...,_
   ||        /_~,,..::: ~"'ヽ
   ||        (,,"ヾ  ii /^',)                    
   ||          :i    i"  。  E[]ヨ            
    ̄ ̄ ̄ ̄ ̄ ̄ ̄|(,,゚Д゚) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     キノコル先生  |(ノ  |)__lヽ_________________
                /  ̄ ̄ ̄ ./| | 
  ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | | 
                |____|/│

0669nobodyさん2005/09/02(金) 14:53:56ID:???
>>657
いまのJavaScriptが適用範囲が狭い?んなわけないよ。
標準関数やらライブラリは、Java上で動かせば何の問題もない。
0670nobodyさん2005/09/03(土) 00:13:09ID:???
じゃあJavaでいいじゃん。
0671nobodyさん2005/09/03(土) 01:03:08ID:???
ま、正規表現は強力だよな。
JavaでPerlの正規表現ライブラリをimportしてるくらいだぜwwwwwww
0672nobodyさん2005/09/03(土) 01:38:30ID:???
PHPと同等ね。
0673nobodyさん2005/09/03(土) 02:04:19ID:???
>>670
Javaはデプロイとかで面倒だから、ビュー側はスクリプト系の言語のほうがいい。
でもPHPは言語としてショボすぎるから、JavaScriptがいい。
0674nobodyさん2005/09/03(土) 15:38:38ID:???
おいおまえら、FirefoxやThunderbirdがJavaScriptで書かれてることを忘れるなよ。
0675nobodyさん2005/09/03(土) 17:00:09ID:???
YahooがPHPで書かれていることも忘れるな
0676nobodyさん2005/09/03(土) 19:31:27ID:???
javascriptでViewの描画なんぞしたらクローラに相手にされねーじゃん
0677nobodyさん2005/09/03(土) 19:36:26ID:???
>>675
すべてがPHPではないけどね。
0678nobodyさん2005/09/03(土) 20:50:45ID:???
JSP/Servlet>>>>Perl>>>>|||||||>>>>>>>PHP
                      ↑超えられない壁
0679nobodyさん2005/09/03(土) 23:40:05ID:???
>>676
JavaScriptはブラウザの中だけで動かすもんじゃないんだよ。
0680nobodyさん2005/09/04(日) 07:39:20ID:???
真珠湾も忘れるな
0681nobodyさん2005/09/04(日) 08:28:48ID:???
Perlは忘れかけられてる
0682nobodyさん2005/09/04(日) 08:41:44ID:???
だいたいPerlの本なんて最近出版されてないだろ
自然に終了wwwww
0683nobodyさん2005/09/04(日) 09:05:36ID:qzyfaPS8
>>682
Perl関連の書籍は最近出版されていないけど、
アマゾンのランキングをみると全体的にPHP関連の書籍よりは上位にあると思う。
0684nobodyさん2005/09/04(日) 09:24:36ID:???
PHPで検索するとPHP文庫が大量に入ってくるから比較不可能じゃん
気分だけで語られても困りますなあ〜ヒャーハッハ
0685nobodyさん2005/09/04(日) 09:41:55ID:???
linux制御をするならperlだな
phpもperlも両方できない奴は
しんだほうがいいな
0686nobodyさん2005/09/04(日) 11:01:46ID:???
手っ取り早く稼ぎたいんならPHPだけやってりゃいいじゃん。
そんなやつはプログラマーとしては底辺のレベルだけどなw
0687nobodyさん2005/09/04(日) 12:10:44ID:???
Perlだけやってても底辺だろうけど。
0688nobodyさん2005/09/04(日) 12:50:59ID:qzyfaPS8
>>684
アマゾンでPHP プログラミングと入力して検索するとわかりますよ。
0689nobodyさん2005/09/04(日) 13:15:26ID:uT/ivXsD
Webprogに限れば、Perlに出来てPHPに出来ないことは無いんだから
Perlやっても意味が無いんじゃないかな
つか、perlのソースって醜いんだよな
0690nobodyさん2005/09/04(日) 13:19:23ID:???
>>689
PHPでもApacheモジュールを書けるようになった?
Apacheモジュールが書けるのはC/C++/Perlだけだと思ったけど。
0691nobodyさん2005/09/04(日) 13:27:03ID:???
WebProgじゃねえだろヴォケ
0692nobodyさん2005/09/04(日) 13:36:33ID:???
>>691
ワロタw
0693nobodyさん2005/09/04(日) 14:06:39ID:nWuo3A4u
cgiのチャットで、同じプログラムをphp化したらかなり早くなった
驚くほど無知なんだけどPHPの方がやっぱ早いの?
でも、使い勝手は悪く感じた
初心者だからかもしれんが
0694nobodyさん2005/09/04(日) 14:39:41ID:???
>>691
それはギャグで言っているのか?!(AA略
0695nobodyさん2005/09/04(日) 14:46:06ID:???
>>693
マジレスしておくと、CGIはインターフェイスでありPHPは言語なので比較はできない。
CGIを介してPHPを使うことも可能。
0696nobodyさん2005/09/04(日) 16:47:54ID:???
>695
どんな相手でもわかるように説明できる能力を身に着けたほうがいいよ。
0697nobodyさん2005/09/04(日) 18:39:51ID:???
>>693
Perlは過去の遺物だからPHP使った方がいいよ
0698nobodyさん2005/09/04(日) 18:42:03ID:???
>>697
今はチャットを分割して一番アクセスある場所だけPHPにしてます
入室部分はperl
0699nobodyさん2005/09/04(日) 19:21:28ID:qzyfaPS8
はてなはPerl
0700nobodyさん2005/09/04(日) 19:28:25ID:w7mb+cHO
はてなはmod_perlでしょ?
0701nobodyさん2005/09/04(日) 19:36:34ID:???
PHP5.1がもうRCになってるので
Perlを駆逐するのも時間の問題でつねwwwwwwwww
0702nobodyさん2005/09/04(日) 19:40:03ID:qzyfaPS8
はてなの辞書みたいなページにかいてあった記憶があったから書いただけ。
0703nobodyさん2005/09/04(日) 20:13:00ID:???
>>701
PHP5は全然だめだったね。
0704nobodyさん2005/09/04(日) 20:57:02ID:???
PHPは配列に対してメソッドが定義されていないので、非常にイライラします。
0705nobodyさん2005/09/04(日) 21:03:35ID:???
自分でクラス作って被せるか、SPL使え。
0706nobodyさん2005/09/05(月) 04:05:40ID:???
確かにPerlよりPHPのほうが簡単だが・・・

PHP5に名前空間が無いのは疲れる!
何とかならぬのかーーーーーー
Perlですらあるってゆーのに。
0707nobodyさん2005/09/05(月) 04:08:20ID:???
SPLってrequire()しなくてもつかえるのか
0708nobodyさん2005/09/05(月) 04:12:05ID:???
>>671
Jakarta OROのことをいっているのか。
java.util.regexという奴もあるぞ。Perl互換ではないが。

>>673
Apache AntやApache Maven使えばデプロイなんて非常に簡単だろ。
0709nobodyさん2005/09/05(月) 04:36:30ID:???
Ant自体、趙メンドイ。なんでもかんでもXMLにすんなつーの。
0710nobodyさん2005/09/05(月) 07:19:33ID:???
名前空間ってなに?
0711nobodyさん2005/09/05(月) 09:57:09ID:???
>>673
っていうか、ビューにJSPでいいと思うけど。
0712nobodyさん2005/09/05(月) 13:35:05ID:???
>>709
じゃ、XMLが不満なら
GNU makeでも記述してな。
Antのほうが安全性が高いがな。
Eclipse Ant Editorを使えばbuild.xmlの記述なんて面倒くさくも無く非常に簡単だが。

XMLにする理由はOSへの依存度を減らすことと
構文エラーに気づきやすくするためだ。

それでもAntに不満があるならMavenを使えばいい。
数多くの主種のゴールが用意されており、それを実行するだけでデプロイ、Jar生成、テスト、テストレポート生成、
プロジェクトサイト構築、ドキュメント生成、ダウンロードなどを一括できる。
ライブラリ依存関係も自動で解消し、
CPANやPEARのようにすでに登録されているモノで足りないモノがあればJJarが起動し自動でダウンロードされる。
0713nobodyさん2005/09/05(月) 13:46:02ID:???
>>710
アフォ
そんなこと言う奴はここでPHPがいいとかPerlがいいとか言う資格は無いぞ
出直してこい
0714nobodyさん2005/09/05(月) 15:48:43ID:???
日曜プログラマに名前空間など不要。
0715nobodyさん2005/09/05(月) 17:07:56ID:???
Perlだとモジュールとかの話か?>名前空間
my関数とか?
0716nobodyさんNGNG
名前空間とはクラス名などの重複を避けるためにあるようなものだよ。
XMLにもあるし、Java, C++はもちろん、C#, Perlにもある。

PHP5が発表されるとき、名前空間がサポートされるはずだったが
なぜか不採用になってしまったらしい。とても残念だ。名前空間があれば、PEARも
もっと優れた使い勝手の良いライブラリになっていただろうに。

Java, Perlではpackage, C++, C#ではnamespace
というキーワードを使って指定している。
PHP5もnamespaceというキーワードを使って名前空間を実現できるはずだった。
C++やC#のnamespace, Java, Perlのpackageのように。

これがなきゃパッケージ名は異なるがクラス名は同じ、ということを実現できない。
また、Facadeパターンも実現しづらい。なぜなら、パッケージプライベートを実現できないから。
Javaでは、クラス宣言の頭にpublicとつけると、そのクラスはパッケージ外部からもアクセスできるようになる。
だが、publicをつけないと、同じパッケージ内にあるクラスからしかアクセスできなくなる。
これを応用して、Facadeパターンを実現することができる。

同じパッケージ内でFacadeに相当するクラスのみをpublicにして、他のクラスはすべてパッケージプライベートにする。
ある機能を集めたが、クラス間の依存関係を減らすために意図的にFacadeを経由してしか、
他のクラスにアクセスできないようにすることができる。Facadeとはデパートの入り口のインフォメーションカウンター
のようなものであり、そこでデパート内のこの店(パッケージプライベートになっているクラス)はどこにあるのか、
と行き先を聞くことができる。デパートに入ると、かならずFacadeを通る仕掛けだ。

また、Javaではパッケージ名にドメイン名を含めることが推奨されている。
なぜなら、誰かが作ったクラス + パッケージが同じ名前で重複することを避けるため。

例: package net.2ch.www.php.test.example;
というように。
日曜プログラマに不要といっても、大規模開発では重宝するよ。
0717nobodyさん2005/09/05(月) 20:52:16ID:???
名前空間は、C, PHPにもある。
というか、プログラミング言語以外の世界にもある。
名前がついていれば、名前空間は存在する。

>>716 は名前空間を切る事によって得られる利点の説明、だよね。
0718nobodyさん2005/09/05(月) 21:49:24ID:???
俺日曜プログラマだけど、このスレ楽しいわ。
別にどっちがいいとか悪いとかどうでも良くなってきた。
0719nobodyさん2005/09/06(火) 02:47:26ID:???
>>711
データベースアクセス部分やいろいろな処理が必要になると、サーブレットに書かないといけないよね。
そのとき、コンパイル・デプロイでタイムラグがある。
特に、Hibernateとか最近のフレームワークなんか使ってるとコンテキスト起動に時間がかかる。
そのタイムラグが気にならないといってるのは、Javaに慣れてそのタイムラグをあきらめてるヤツ。
JSPも書き直して実行するときには時間がかかる。
画面遷移のコントロールやら入力データの処理、表示データの取得なんかは、スクリプト系で試行錯誤をやりやすく気軽に書けるようにしたい。
0720nobodyさん2005/09/06(火) 03:26:17ID:???
PHP5になっても、Foo_Bar_Baz.php みたいなことをしないといけないのか。
0721nobodyさん2005/09/06(火) 08:17:31ID:???
>>720
それはディレクトリ切れば良いだけでは…。
ファイル名だし…。
0722nobodyさん2005/09/06(火) 09:30:09ID:???
>>719
なんでそんなにシステムの書き換えが発生するんだ?
安定してない者をリリースしてるだけなんじゃないのか?


っていうか、そんなにとめられないシステムなら、普通は二重化して
片方ずつ入れ替えて、見ため上とまって居ないようにして入れ替え
られるようにすると思うけど。
0723nobodyさん2005/09/06(火) 09:31:17ID:???
>>719
あとJSPは、他のサーバでコンパイルした物を差し込むんだが。
0724nobodyさん2005/09/06(火) 15:00:14ID:???
>>722
開発中の話だよ。
0725nobodyさん2005/09/06(火) 18:06:32ID:???
開発中なら、別にシステム止まろうが関係ないだろ。
気になるならないって、再起動しても10秒くらいから、遅いマシンで30秒くらいだしな。
それを待てないとしたら、イライラしすぎだと思う。
0726nobodyさん2005/09/06(火) 19:04:09ID:???
>>725
待たずに試せる快適さをしらないだけかと。
試行錯誤で起動に30秒もかかれば、10回試すだけで待ち時間5分だよ。
Javaの人は、その待ち時間に飼いならされてるから不満もでないんだろうけど。
0727nobodyさん2005/09/06(火) 19:27:11ID:???
ってか、ちょこっとだけ変えて再起動を連発なんて開発方法は滅多にしないかと。
0728nobodyさん2005/09/06(火) 19:31:53ID:???
動作速度を考えろよ

JAVAとPHPの実行速度が、仮に3倍だとして(本当はもっと差があるが)、
一回5秒の処理を1000回動かしたら、10000秒の差が出る。
だいたい2.7時間の差。
仮にこれが1日の動作だとして、一年動かしたら、どれだけ差が出る?
約1000時間だよ。
これが業務システムだとして、それだけ業務に時間が余計に掛かることになる。
時給1500円だとしても、年間150万円を捨てることになる。

作るのに多少時間が掛かっても、長く動かせばそれだけ損失が出る。
0729nobodyさん2005/09/06(火) 19:34:14ID:???
>>728
それはどっちが速いと言ってるの?
0730nobodyさん2005/09/06(火) 19:37:51ID:???
>>729

>>619

この記事を鵜呑みにして、>>728の言う業務がWebのシステムだとすると、
38倍変わるから、2億8141万円を捨てることになるね

PHPってヤバいんじゃないのw
0731nobodyさん2005/09/06(火) 19:39:18ID:???
DB接続がメインだとしても2倍か。
年間コスト100万円くらいは変わるのかな?
0732nobodyさん2005/09/06(火) 19:48:07ID:???
変数名間違えても指摘してくれなくて、えーとどこだっけって探すのも結構な時間の無駄。
0733nobodyさん2005/09/06(火) 19:50:56ID:???
JAVAのプログラマは単価が高いから、100万や200万くらい、開発ですぐに消費するだろw
単価が安いPHPが最強なことに変わりがないんだよw
0734nobodyさん2005/09/06(火) 19:53:34ID:???
そう最強に使えない言語php
0735nobodyさん2005/09/06(火) 19:58:13ID:???
>>726
コンパイル時間が待てないとか、
いきあたりばったりの開発してないか。

私だったら頭の中で黄色信号が点灯するけど。
0736nobodyさん2005/09/06(火) 20:33:28ID:???
>>735
実際の開発したことある?
開発初期とか新しいライブラリ試すときとか最後の微調整とか、試行錯誤を繰り返すことはたくさんある。
そのとき再起動で30秒とか、考えることの妨げになる。
たんなるコーダーだったら、考えることもなく言われたとおりにやればいいんだろうけど。

つうか、Javaばっかり使ってて、プログラム書き換えて即実行っていう良さ知らないんだろうね。
0737nobodyさん2005/09/06(火) 22:13:41ID:???
Javaでも開発用にサーバーを再起動させなくてもクラスを追加できるように設定できる。
その設定でEclipseを使えば、コードを書いてすぐ実行ってこともできる。

それよりも、PHPは文法が甘いせいで、どこにバグがあるのかがわかりにくくて、結局時間を浪費してしまう。
0738nobodyさん2005/09/06(火) 22:22:43ID:???
Perlも1000行くらい書いたあたりから
デバッグが大変になってくる。
use strictと-wつけるとヤバイ。
0739nobodyさん2005/09/06(火) 22:24:32ID:???
Javaの場合JSPはリアルタイムで書き換えられるし
それ以外は単体テストするから何度も再起動なんてことめったにない
0740nobodyさん2005/09/06(火) 22:49:38ID:???
PHPやPerlなら、printでデバッグできる。特にPHPは困ったらすぐprintできる。それは大きなメリットだよ。
WEBアプリの場合、HTMLを微調整しながら開発しつづけることになるケースが多いんだから。
0741nobodyさん2005/09/06(火) 22:51:51ID:???
>>738
付けないお前がやばい
0742nobodyさん2005/09/06(火) 22:56:41ID:???
>>736
開発中は他の作業が山ほどあるから、そんなに気にならないし、
最後の調整に再起動を何十回ってやってたら、こりゃ変だって感じない?

Perl使ってPHPも稀に使うけど、よく分からん。
C/C++などでビルドに5分待ちとかに慣れているからかもしれんが。
0743nobodyさん2005/09/07(水) 00:05:58ID:???
>>740
printくらいどんな言語でもできるだろ。
Javaならブレークポイントを設定したり、ステップ実行したりできる。
これだとどこで変数の値がおかしくなったかが手に取るようにわかるから、とっても楽。
printなんかではできないような快適な開発が出来るから、いっぺんやってみ。
PHPでもZend Studio(有料)ならできるから。
0744nobodyさん2005/09/07(水) 01:18:35ID:???
>>739
JSPの遅さはリアルタイムとはいえんだろ。
0745nobodyさん2005/09/07(水) 01:24:59ID:???
しかもエラーがあった場合、変換後のJavaファイルに対して出るわけだし。
0746nobodyさん2005/09/07(水) 01:40:17ID:???
>>745
なんか問題あるのか?
0747nobodyさん2005/09/07(水) 02:02:30ID:???
>>745
スタックトレースが出てくるし、例外の種類も出てくるし、それでもわからなければ変換後のソースを見れば済む話。
それに、ロジック部分はServletやBeansで書くわけだし。

普段Java等のコンパイル型言語を使っているか、PHP等のスクリプト言語を使っているかで、デバッグの概念そのものが違うみたいだね。
0748nobodyさん2005/09/07(水) 02:28:29ID:???
JSPのコンパイルエラーは、IDEのおかげで入力中にわかるから問題ないね。
0749nobodyさん2005/09/07(水) 02:32:48ID:???
>>737
クラス構成の変更には対応してないんじゃないの?
それに結局コンテキスト再読込みしてるだけだから、クラス修正するたびに再読込みが発生するのはうっとおしい
0750nobodyさん2005/09/07(水) 03:12:31ID:???
>>749
何がうっとおしい?
サーバのコンテキスト関連のログでも追いかけていなければ、見た目には何も起こってないように見えるはずだが。
0751nobodyさん2005/09/07(水) 03:59:38ID:???
>>721
そうするとrequire()が面倒なんだよ。
相対パスになっているからさ。

結局いまのところわかっているある程度までの解決策は
ini_get(),ini_set()をつかう方法かな。
それから、__FILE__, getdir()も組み合わせる方法、
どれも統一感がない。

Javaのimport宣言のようにはいかないのがちとつらい。

この方法を使っても、結局、namespace名は異なるがクラス名は
同じってことは実現できない。
結局、PEARみたいに、>>720みたいな
ネーミングに頼るしかないっていう結果になりそうだ。

0752nobodyさん2005/09/07(水) 04:04:32ID:???
>>739
いやいや、そもそも
Tomcatで<Context>タグに
reloadable属性をtrueにすればTomcatを再起動する必要は無いよ。
本番ではお勧めしないときもあるかな。

ホットデプロイという奴だよ。

>>740
printデバッグはねえ。
ロガー使ったほうがいいけどね。

PHPで開発しているけど、PEAR::Logは大変ありがたくつかってもらってますぜ。
java.util.loggingやJakarta Log4jほどの機能は期待できないけれども。
0753nobodyさん2005/09/07(水) 04:07:11ID:???
>>745
リモートでバッグもしらないのかい?

それから今上で説明したロガークラス。
ログレベルを変更すれば変数の中身などのデバッグ情報を
出力させるってことも簡単にできる。

>>748もいっているように、Eclipse用に作られたTomcat Sysdeoプラグインを
使えばかなり簡単にデバッグできる。
0754nobodyさん2005/09/07(水) 04:08:13ID:???
>>749
> >>737
> クラス構成の変更には対応してないんじゃないの?
> それに結局コンテキスト再読込みしてるだけだから、クラス修正するたびに再読込みが発生するのはうっとおしい

それも上で説明したとおり、
<Context>タグのreloadable属性をtrueに変更すれば済むことだよ。
0755nobodyさん2005/09/07(水) 04:11:37ID:???
>>751
PEARは>>720みたいなファイル名にはなってないけど
0756nobodyさん2005/09/07(水) 04:13:58ID:???
>>754
Tomcatのreloadableではコンテキストの再起動が発生してる。
で、重めのフレームワーク使うと、フレームワークの初期化もそのときに行われて時間がかかる。
0757nobodyさん2005/09/07(水) 04:19:06ID:???
>>738
汚いコード書いてるなよ
0758nobodyさん2005/09/07(水) 04:21:50ID:???
>>733
単価が安いのは、PHPがトランザクション系のシステムじゃなく、
単純なシステムにしか使われないからなんだけど。
0759nobodyさん2005/09/07(水) 04:39:09ID:???
Javaの人たちって「xxxは面倒」とかいう批判があると「自分は気にならない」とか「まともな開発すれば問題ない」とか、批判から逃げるね。
で、エラい人が批判しだすと、いっせいに「あれは面倒」って意見が変わる。
EJBとか。
0760nobodyさん2005/09/07(水) 04:40:53ID:???
>>759
今までの流れを完全にスルーした発言ですねw
0761nobodyさん2005/09/07(水) 04:42:27ID:???
>>759
っていうか、EJBは面倒、Servletは面倒じゃないというだけだと思うが。
えらいえらくないなんてのはお前の妄想。
0762nobodyさん2005/09/07(水) 04:45:06ID:???
>>756
アプリやフレームワークの動作が重いのと、コンテキストのリロード速度とはあまり関係ないと思うが。
イニシャル時にDBから設定をごそっと持ってくるような実装にしてたら重いかもしれないが、
それはどの言語でも同じだし。
0763nobodyさん2005/09/07(水) 04:47:06ID:???
Hibernate使うと、コンテキストの再起動がシャレにならなくなるよ
0764nobodyさん2005/09/07(水) 04:48:57ID:???
>>740みたいに、printでデバッグなんてかわいそうな子がいまだに存在します。
print書いたり消したりなんて面倒なことしてるんです。
いまどきPHPでもLoggingは当たり前です。
0765nobodyさん2005/09/07(水) 04:49:35ID:???
PHPでもHibernateと同じことをやろうとすれば、同じようになると思うが
PHPにはO/Rマップという選択肢が単にないだけだろ
0766nobodyさん2005/09/07(水) 04:50:57ID:???
>>765
>PHPにはO/Rマップという選択肢が単にないだけだろ
…ぇ?
■ このスレッドは過去ログ倉庫に格納されています