PHPがいかに駄目言語であるかをちゃんと説明
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/11/15(金) 20:57:08.46他の言語と比較しながら、具体的にちゃんと説明してください!
0002デフォルトの名無しさん
2013/11/15(金) 21:27:16.50http://blog.webcreativepark.net/2008/01/31-010847.html
0003デフォルトの名無しさん
2013/11/15(金) 22:37:59.66facebookは拡張して型チェック付のPHP使ってるらしいね。
0004デフォルトの名無しさん
2013/11/15(金) 23:23:56.39それ古すぎるんだわ。新しいのないの?
0005デフォルトの名無しさん
2013/11/16(土) 00:44:51.86* 配列ごときで、arrayの荒らし
* クロージャーがない
* mixinがない
0006デフォルトの名無しさん
2013/11/16(土) 01:23:08.430007デフォルトの名無しさん
2013/11/16(土) 04:52:34.09言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0009デフォルトの名無しさん
2013/11/16(土) 08:47:14.99探してこい
0010デフォルトの名無しさん
2013/11/16(土) 08:53:36.29ここってPHPを賛美するスレではないよな?
そうだったら勘違い
0011デフォルトの名無しさん
2013/11/16(土) 10:57:52.930012デフォルトの名無しさん
2013/11/16(土) 11:02:15.35全ての関数をオブジェクト化するべきだと思う
こんなかんじ
strpos -> string->pos
str_replace -> string->replace
あと引数の順番も整理しておくべき
0013デフォルトの名無しさん
2013/11/16(土) 11:02:45.85【PHP】下らねぇ質問はID出して書き込みやがれ 131
http://kohada.2ch.net/test/read.cgi/php/1384065969/
0014デフォルトの名無しさん
2013/11/16(土) 11:07:41.15・引数の順番に統一感がなくリファレンスに頼りがちになる
・戻り値が0とfalseを返すものがあり区別が面倒
これらは最新版でも変わってない
0015デフォルトの名無しさん
2013/11/16(土) 11:09:47.24え
0016デフォルトの名無しさん
2013/11/16(土) 11:10:22.14いざという時にだけ取り出して使うサブ武器としてもふさわしくないようにみえるな
0017デフォルトの名無しさん
2013/11/16(土) 11:23:00.30CUIで使うならRubyかPythonのがふさわしいしな
0018デフォルトの名無しさん
2013/11/16(土) 11:25:57.590===falseはfalse
だから
strposのようにインデックスが0番目にヒットしても0==falseってやるとfalseになってしまう
PHPから緩い比較演算子はなくすべき
0019デフォルトの名無しさん
2013/11/16(土) 11:36:01.22これが仕様だと効いた時くそ笑った
http://www.programming-magic.com/20080307090613/
0020デフォルトの名無しさん
2013/11/16(土) 11:54:39.89そのページの最初のコードを実行すると最新版でも同様になるけど
説明は間違ってるぞ
バグだと未だに思ってる
0021デフォルトの名無しさん
2013/11/16(土) 12:05:35.63ねーよw
0022デフォルトの名無しさん
2013/11/16(土) 14:22:05.96↓
$ref = &$array[1]; //参照渡し
$array[1] = &$array[1]; //参照渡し
としてる感覚なんよね
これ理解させるの大変だから、会社では配列要素のリファレンスをとることを禁止してるよ
0023デフォルトの名無しさん
2013/11/16(土) 14:29:47.300024デフォルトの名無しさん
2013/11/16(土) 15:39:17.61そこ否定する必要がどこに
0025デフォルトの名無しさん
2013/11/16(土) 16:42:24.55わかるわかる。理屈じゃなくて単にキモいわけだよね。
俺も昔はRubyはキモかった。
でもそれは単に自分の問題であることがわかった。
使っていればなれる。理解すればなれる。
それだけの事だった。
理由がない=自分の力不足
そう考えるようになったよ。
0026デフォルトの名無しさん
2013/11/16(土) 16:46:41.080027デフォルトの名無しさん
2013/11/16(土) 16:49:01.17PHP作ったヤツは言語の素人だったから
右辺値や左辺値の知識も無かったのさ
0028デフォルトの名無しさん
2013/11/16(土) 16:54:47.020029デフォルトの名無しさん
2013/11/16(土) 17:09:40.70リファレンスなんて使わないから関係ないと言われた。
今はオブジェクト指向を使えだっけ?
0030デフォルトの名無しさん
2013/11/16(土) 17:17:18.63類は友を呼ぶってな。
0031デフォルトの名無しさん
2013/11/16(土) 17:33:26.43副作用を避けようとする風潮と真逆
0032デフォルトの名無しさん
2013/11/16(土) 17:42:00.37代入しただけでは変わってないよ
0033デフォルトの名無しさん
2013/11/17(日) 00:11:08.25var a = 1
0034デフォルトの名無しさん
2013/11/17(日) 00:12:44.430035デフォルトの名無しさん
2013/11/17(日) 00:50:52.64PHPerは参照が何かすら分かってないのかよ
0036デフォルトの名無しさん
2013/11/17(日) 04:31:21.23そのサイト、俺は図を見てもしばらく理解に苦しんだわ
理解したとき、その図には、その前の状態の図が必要だと思った
その前の状態は、×側と同様に変数に値そのものがくっ付いてる状態なんだな
てっきりその前から全てが参照なんだと思ってたら…
0037デフォルトの名無しさん
2013/11/17(日) 09:09:16.66>>33にいってるのかそれ以前に言ってるのかはっきりしろ
0038デフォルトの名無しさん
2013/11/17(日) 09:30:19.04参照カウンタ増やすだろ。これも一緒だぞ
配列を渡すとき正しい動作をしてないだけ
配列を参照渡しにしとけばバグらなかった話
この例に
$tmp = $array[1];
$tmp = 'Z';
とか足しても、$arrayや$copyには影響ない。
どちらにしろバグを仕様と言い切ってるわ
駄目言語であることには代わりがない
0039デフォルトの名無しさん
2013/11/17(日) 09:39:27.130040デフォルトの名無しさん
2013/11/17(日) 12:34:21.56$value = 1;
$ref1 =& $value;
$ref1 = 2; ← これで$valueが変わるのは普通
$ref2 = $value;
$ref2 = 3; ← これで$valueが変わるのはおかしい
そうだろ?
だけどこれを配列の1要素にした途端、
最後の行で変わってしまうんだよ。
0041デフォルトの名無しさん
2013/11/17(日) 12:36:06.86あなたの説明では余計に分からなくなる
0042デフォルトの名無しさん
2013/11/17(日) 12:37:11.810043デフォルトの名無しさん
2013/11/17(日) 12:55:04.77$array[0] = 1;
$copy = $array;
$copy[0] = 2;
print($array[0]); // 出力 = 1
$arrayは変えずに$copyの値を変えているだけだから当然だな。
$array[0] = 1;
$dummy =& $array; // ←一行増やしただけ
$copy = $array;
$copy[0] = 2;
print($array[0]); // 出力 = 1
増やした一行の$dummyは何も使っていないのだからこれも当然だな。
$array[0] = 1;
$dummy =& $array[0]; // ←配列にしただけ
$copy = $array;
$copy[0] = 2;
print($array[0]); // 出力 = 2
仕様だと強弁した所で、どう見てもこれは明らかにバグだろ?
■ このスレッドは過去ログ倉庫に格納されています