Perlはもう時代遅れPHPの時代
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/11/10 17:03ID:4QgJjHBpPHP最高!!!!
0694nobodyさん
02/12/30 10:44ID:neFLd3GGんだけど。
いくらでも軽くなるような、はったりをかますためのスクリプトなら、PHPの方が楽。かも。
0695nobodyさん
02/12/30 16:23ID:pG2mKzteだれ〜としてる、パ〜〜ぁァァルみたいな感じ。
0699nobodyさん
02/12/30 19:29ID:neFLd3GG0700堀江由衣 ◆M5/8/5dKZM
02/12/30 19:33ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < 700ゲッチュ♪
((ニE/⌒ヾ∞"ヽ \____________
(こ) ∞ |こ)
く__∞,ノ
し' し'
0701カミ
02/12/31 00:58ID:eTxvyq7o$ts='$counts += 1 if (1);';#仮に2種の式をそれぞれ変数に代入
$tn='$bcount =$counts+10 if ($ARGV[0]=~/count/);';
$bcs = eval ("sub {".$ts."}");#それをバイトコードに変換
$bcn = eval ("sub {".$tn."}");
($sec,$min,$hou,$day,$mon,$yea) = localtime();
print "DirectEval Start: $hou:$min:$sec ...";
for($i=0;$i<50000;$i++){#先の式をダイレクトに50000回評価する
$ans=eval($ts);
$ansb=eval($tn);
}
($sec,$min,$hou,$day,$mon,$yea) = localtime();
print " End :$hou:$min:$sec\ncount:$counts\n";
if ($ansb) {
print "bcount:$bcount\n";
}
($sec,$min,$hou,$day,$mon,$yea) = localtime();
print "Bytecode Start: $hou:$min:$sec ...";
for($i=0;$i<50000;$i++){#バイトコードを50000回評価する
$ans=$bcs->();
$ansb=$bcn->();
}
($sec,$min,$hou,$day,$mon,$yea) = localtime();
print " End :$hou:$min:$sec\ncount:$counts\n";
if ($ansb) {
print "bcount:$bcount\n";
}
0702カミ
02/12/31 00:59ID:eTxvyq7o実行結果:
C:\>perl lambd.pl
DirectEval Start: 17:32:10 ... End :17:32:19
count:50000
Bytecode Start: 17:32:19 ... End :17:32:19
count:100000
C:\>perl lambd.pl count
DirectEval Start: 17:32:27 ... End :17:32:36
count:50000
bcount:50010
Bytecode Start: 17:32:36 ... End :17:32:37
count:100000
bcount:100010
-----
アンビリバボーな結果だ・・・処理時間が約1/10になっている.
当然、自由式内で設定した変数は引き継がれている。
0703nobodyさん
02/12/31 01:10ID:f3dKkAkh0705nobodyさん
02/12/31 01:47ID:???ちょっと興味ひかれて、がっかりした。
>for($i=0;$i<50000;$i++){#先の式をダイレクトに50000回評価する
> $ans=eval($ts);
> $ansb=eval($tn);
>}
じゃなくて、単純にループ囲んで
eval'for $i (0 .. 50000){$ans=($ts);$ansb=($tn);}';ってやれば、
そんな訳の分からんことするより、倍以上高速だよ。
0706705
02/12/31 01:51ID:???eval'for $i (0 .. 50000){$ans=($ts);$ansb=($tn);}';じゃなくて
eval"for $i (0 .. 50000){$ans=($ts);$ansb=($tn);}";な。
0707カミ
02/12/31 02:26ID:eTxvyq7oやってみた。関数呼び出しされない分更に5倍早くなるね。
但し、期待する$ansbへ評価結果(if ($ARGV[0]=~/count/)の真偽)が入らない。
コマンドパラメータでcountと指定しようがしまいが,bcountを表示してしまう様だ。
先の例は
csvファイルの各フィールド値の組み合わせでデータ集計する
スクリプトに対し集計の為の組み合わせをそのままperl式で与える、
そんなツールに利用した方法。
いずれにしろループの全体を囲む方法は思いつかなかった。705さん感謝
0708nobodyさん
02/12/31 11:16ID:???PHPの話題はこっちでやれ
http://pc.2ch.net/php/
Perlの話題はこっちでやれ
http://pc.2ch.net/perl/
0709nobodyさん
02/12/31 13:48ID:???Perlはもう時代遅れPHPの時代
0710nobodyさん
02/12/31 16:42ID:TjFanzC9Javaの場合はUMLなどとの親和性が高い為、モジュールレベルの作業分割が
割合容易だが・・・。
0712nobodyさん
03/01/02 09:20ID:3kECOY7Vそりゃ今時どんな言語だって「できる」けど、書きやすさと、ツールの揃い方と、サーバ移行のしやすさなどなどを
トータルで考えれば・・・
0714nobodyさん
03/01/02 10:34ID:1U0w59OS楽??? でも単純なDB作業以外できない。
0715nobodyさん
03/01/03 09:14ID:???ライブラリないと何もできないのか。
0719nobodyさん
03/01/03 11:56ID:???ちゃんと回る車輪にしてくれよ
0720nobodyさん
03/01/03 17:10ID:uQIQGKyq0721nobodyさん
03/01/03 17:17ID:???例えば parse_url。
リファレンスを流し読みしてる時に見つけてびっくりした記憶がある。
一回しか使ったことないが...(w
0723nobodyさん
03/01/03 18:53ID:???できなかったっけ?
class x
{
function a()
{
print "I am x";
}
}
class y extends x
{
function a()
{
parent::a();
print "I am y";
}
}
Javaみたく自動的にオーバーライド可能になってると理解してた。
0724nobodyさん
03/01/03 19:00ID:r8gmyGB0’純粋’ってつけたほうがよかったか?
メソッドの有無について、コンパイル時にエラーが出るJavaはありがたい。。。
0725nobodyさん
03/01/03 19:08ID:???ああ、できないな。
そのクラスのどこにもないメソッドは呼び出し時に怒られるけれど。
俺はどっちかというとprivateとか欲しいなぁ。
0726nobodyさん
03/01/03 21:49ID:aBmoi4mo0728nobodyさん
03/01/03 22:00ID:aBmoi4mo0729冬厨 ◆j0Oon93KwY
03/01/03 22:20ID:???そんくらいはがんばってもいいと思うですよ、、
0730nobodyさん
03/01/03 22:25ID:aBmoi4moactive basic, その他。
phpほどメジャーでインストーラーついてないのって珍しい。
別に俺は必要ないけど、初心者には必要だと思った
0731nobodyさん
03/01/03 22:33ID:???環境構築し直すときに手動インスコはうんざりする。
0732nobodyさん
03/01/03 23:44ID:???「php windows installer」で検索してみ。
「php、ウィンドウズ、インストローラ」じゃないぞ。
0733nobodyさん
03/01/05 01:12ID:???PHPにインストーラは絶対不要に1,000,000,000ペソ!
つか、PHPにインストーラが付けば厨房にウケて利用者数が急上昇すると思われ。
こういった事からPHPにインストーラは必要とお考えの香具師は
[PHP を流行らせるには]
http://pc.2ch.net/test/read.cgi/php/985848031/l50
でご討論された方が世のためかと。
0734nobodyさん
03/01/05 01:22ID:???Webサーバーの設定もたった数行。
なのに何故にインストーラーが必要なのか。
漏れもWin使いで初心者に近いが、こうもあからさまにPHPにはインストーラーが必要だ
何て言われると恥ずかしくなる。というかWin使い以外の人から今以上にWin使いが阿呆
扱いされそうで怖い。w
0735nobodyさん
03/01/05 02:24ID:???コピーしてパスの設定をするだけだし。
0737nobodyさん
03/01/05 09:47ID:???0738nobodyさん
03/01/05 09:49ID:???OSも満足に使えない奴がプログラミング?しかもあらゆる技術者の目に触れるWebプログラム?笑わせんな。
と言うことで解決してしまうのも手かと。
0739nobodyさん
03/01/05 12:24ID:C6nHUAWCでも,CPANのインストーラーは,perlユーザーは
みんなつかっているよね? 自動的に必要なモジュ
ールを探して,自動的にインストールしてくれる。
こういう便利なツール・環境がPHPにないから,俺は
PHPが嫌い。
0740nobodyさん
03/01/05 13:49ID:???うーん・・・・でもこれからって人ならいいんじゃないの?
BorlandのフリーのC++コンパイラでも、よくそこではまる人がいるし。
0741nobodyさん
03/01/05 17:36ID:???サイトは着メロG-7です宜しくお願いします。
0742nobodyさん
03/01/05 18:19ID:???http://www.google.co.jp/search?hl=ja&lr=lang_ja&q=%83i%83E%83V%83J+%92%85%83%81%83%8D
0743nobodyさん
03/01/05 21:28ID:???参考書を見ながらやったが2日かかった。
終わってみると「なんだこんなことか」ってなるのだが、
やはり素人にはきついだろう。
「いつもどおり」にやればいいUNIXユーザーとは違い素人Win坊には
インストーラーは必要だろうと思う。
0745nobodyさん
03/01/06 09:04ID:???PHPにもPEAR Installerなるものがあるのだが・・・
0747nobodyさん
03/01/09 20:41ID:7uAkXKIJ「高度にモジュール化されたライブラリでプログラミングしなければならない」→「Ruby, Java, C++」(高次元・将来性高し・スキルアップは確実)
0748nobodyさん
03/01/09 20:57ID:???こ、香ばしい・・
マジでお前みたいなのと仕事したくねぇ・・
オブジェクト指向に乗り遅れるな!ってか(藁
3,4年くらい前にお前みたいな意見がたくさんあったよ。
だけどね、一方では、純OO/厳格な型チェックのある言語
は頭の弱い奴にの為にあるっていう考えもある。
第一、あんた低水準なライブラリ自分で実装できるか?
それすらできなそう・・
0749nobodyさん
03/01/09 21:16ID:???お前も香ばしいな。
ABSがわざわざ付いてるのにそれはテクのない奴用だと外すタイプ?
DHCPサーバとかXMLパーサ(妥当性検査なし)くらいなら実装出来るけどあなたの考えには賛同しかねます。
かといって>>747も痛いしなぁ・・・。
0750nobodyさん
03/01/09 23:27ID:???運転士と整備士とを比較してどちらがエライか考えるようなものさ。
0751nobodyさん
03/01/10 01:22ID:???748はルールがないとプログラムできないようでは頭悪い
という「考えもある」といってるだけでは?
>>747
PerlもPHPも高度にモジュール化できるわな。
タコPGが書けばどの言語でもヒドイ実装になるわけで
言語==スキル云々にはならないよ。
0752えせカミ
03/01/10 03:43ID:???それに解りきった一つのロジックをいかにもこうしてますって
いくつもの文と改行、インデントで書くそれこそ低次元としか言えん。
Perlなんて
古くからeval、無名関数、動的スコープなど等Lisp思考も取り入れられて
Cゴリゴリの奴らにはこの素晴らしさを理解できないだろ。
最近の感動物はtieだ。変数のアクセスをフック出来る優れもの。
あーPerlって知れば知るほど優れものなのね〜〜。
だれかPerlがブラウザで動く様にプラグイン作ってくれ。
漏れはPSP作るから。。。
0753nobodyさん
03/01/10 05:37ID:???0757nobodyさん
03/01/10 20:59ID:???0758nobodyさん
03/01/11 03:05ID:B60TfehNよく考えたけど処理速度を無視したら
PerlやPHPで何ができないのかわからんです。
0760nobodyさん
03/01/11 10:01ID:???問題はターゲットのCPU/OS用にコンパイルしないといけないって事だね。
結局コンシューマーはWindowsか良くてLinux遣い。クロスコンパイル環境作るのは激しく面倒。
コンパイラ解放するほど気前の良いプロバイダも少ない。
0763世直し一揆
03/01/12 10:57ID:KqCuZ1Yc●とにかく気が小さい(神経質、臆病、二言目には「世間」、了見が狭い)
●他人に異常に干渉する(しかも好戦的・ファイト満々でキモイ、自己中心)
●自尊心が異常に強く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようとする
(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際にはたいてい、内面的・実質的に負けている)
●「常識、常識」と口うるさいが、実はA型の常識はピントがズレまくっている(日本の常識は世界の非常識)
●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす(強い者に弱く、弱い者には強い)
●あら探しだけは名人級(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす)
●基本的に悲観主義でマイナス思考に支配されているため、性格がうっとうしい(根暗)
●一人では何もできない(群れでしか行動できないヘタレ)
●少数派の異質、異文化を排斥する(差別主義者、狭量)
●集団によるいじめのパイオニア&天才(陰湿&陰険)
●悪口、陰口が大好き(A型が3人寄れば他人の悪口、裏表が激しい)
●他人からどう見られているか、体裁をいつも気にしている(「世間体命」、「〜みたい」とよく言う)
●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(同じことを何度も言う、知障)
●表面上意気投合しているようでも、腹は各自バラバラで融通が利かず、頑固(本当は個性・アク強い)
●人を信じられず、疑い深い(自分自身裏表が激しいため、他人に対してもそう思う)
●自ら好んでストイックな生活をし、ストレスを溜めておきながら、他人に猛烈に嫉妬する(不合理な馬鹿)
●執念深く、粘着でしつこい(「一生恨みます」タイプ)
●自分に甘く他人に厳しい(自分のことは棚に上げてまず他人を責める。しかも冷酷)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(他人をけなして相対的に自分の立場を引き上げようとする等)
それと、O♀はエコヒイキきつくて、冷酷だからな。
A♂の異質排除×O♀の冷酷=差別・いじめ とあいなる。
0764nobodyさん
03/01/12 16:53ID:EwxuPNb5だから 何を根拠にそんなことを言うかちゅう話だと思うのだが。。。
0765nobodyさん
03/01/12 18:46ID:BjLMGiJZこのスレを読み進めて行くうちに、
我々はただで使わせてもらっているモノに対して、
もう少し感謝の念を持つべきであろうと思いはじめますた。
0768nobodyさん
03/01/12 19:04ID:HvHiIRirhttp://yahooo.s2.x-beat.com/linkvp/linkvp.html
0769nobodyさん
03/01/12 21:52ID:EwxuPNb5なんか的はずれなレスしか付かないゆえ一応
PHP,Perlが「高度にモジュール化」する上で他のオブジェクト指向言語
より致命的に劣っている所がもしあるのならば指摘してほしいっす。
漏れの汁範囲ではPerlもPHPもクラス化、多重継承ができる
再利用可能な高度なモジュールは実装できる。
処理速度を無視すればPerlやPHPでもできないことはないです。
0770vvv
03/01/12 21:53ID:HvHiIRirhttp://yahooo.s2.x-beat.com/linkvp/linkvp.html
0774nobodyさん
03/01/12 23:15ID:EwxuPNb5漏れにはできてるように見えるので
詳細お願いします。
0775nobodyさん
03/01/12 23:18ID:???class a
{
function x()
{
print("i am a");
}
}
class b
{
function x()
{
print("i am b");
}
}
function pr($d)
{
$d->x();
}
pr(new a());
pr(new b());
動いちゃう。
0776nobodyさん
03/01/13 00:27ID:???Perl:多重継承ができる
PHP:多重継承はできない
まあ、多重継承があるから
優れているものだとはいえないが
(無駄に使うと曖昧になるだけだし。)
0777nobodyさん
03/01/13 03:09ID:???オブジェクト指向のまねごとはイラネ
0778nobodyさん
03/01/13 06:52ID:dOeZ3eh2PHPでは高度にモジュール化はできないようです。
0779nobodyさん
03/01/13 09:13ID:???Javaだってインターフェースで代用しているわけだし。
0780nobodyさん
03/01/13 09:25ID:???多重継承は害だからJavaでは敢えてインターフェースという形を取った。
class a extends Applet,Frame
とかできたらおもしろかったろうね。両対応モジュールだ。
0781nobodyさん
03/01/13 11:24ID:???多重継承という本来必要な機能を備えていないわけで。
0782nobodyさん
03/01/13 12:15ID:???こんな感じの単純な処理でさえ、PHPの速度はPerlの役3倍。(プッ
0785nobodyさん
03/01/13 12:38ID:???必要ないという意見もある。
class b
{
function x()
{
return 1;
}
}
class c
{
function x()
{
return 2;
}
}
function d($s)
{
print $s->x();
}
引数$sにbのインスタンスを渡してもcのインスタンスを渡しても動いてしまう。
もちろんそんな名前のメソッドがなければエラー。
名前空間こそ無いがインターフェースの替わりにはなってしまうと。
0786nobodyさん
03/01/13 12:41ID:???$cnt = 1000000; while ($cnt--) { }
普通の人間はこう書く。でも1回少なくなるけど・・
while ($a) { }は、$aはフラグのように使うときの書き方。
計算問題はPerlの方が断然速いよ。
0787nobodyさん
03/01/13 12:46ID:???0788nobodyさん
03/01/13 12:53ID:???>もちろんそんな名前のメソッドがなければエラー。
まあ、こういうわけでそんなスクリプトが書ける
PHPをオブジェクト指向言語と呼ぶなど
お笑いなわけだ。
オブジェクト指向にするならPHPは使っちゃあかんな。
0789nobodyさん
03/01/13 13:26ID:???ああ、smalltalkとか知らないんだね。まぁ良いけど。
かといってPerlの取って付けたオブジェクト指向もなぁ・・・。
0790nobodyさん
03/01/13 15:19ID:???>>785の言うとおり、変数型無しの言語にインターフェースは不要。
つか、Javaのインターフェースってコンパイル時のチェックと、
ポリモーフィズムにしか使ってないだろ。
あ、あとは共通定数定義か。まさしくどうとでもなるな。
0791nobodyさん
03/01/13 16:09ID:???」´ ̄`lー) \
T¨L |_/⌒/ ←PHP極めた奴(勝ち組)
`レ ̄`ヽ〈
| i__1
_ゝ_/ ノ
L__jイ´_ )
| イ
| ノ--、 r'⌒ヽ_
ゝ、___ノ二7 /´ ̄l、_,/}:\
|ーi | l_/ /__ィ::. ゝ~_ィ´:; ,ゝ
__〉 { (T´ |1:::. \_>、};;_」
'ー‐┘ ! ` ̄''ァ一 、\ ヽ} ←Perl極めたやつ(負け組み)
〈` ̄ ̄^`¬ノ .::〔 ̄´
1 ヽ .:::レ ヽ、
|_イー-、_;;j|_:. ゝ、
__,,,... -- |. {―――‐フゝ、 〉 -- ...,,,__
_,, -‐ ´ ,r|__ト, 1ニノ ー'´ ` ‐- ,,_
, ‐ ´ └―'´ └―'´ `
0792nobodyさん
03/01/13 17:07ID:wbuZTk4G■ このスレッドは過去ログ倉庫に格納されています