Hatena::ブログ(Diary)

れぷそる・ふぁいやぁ・ぶれぇど RSSフィード

2013-02-18

[] PHP言語仕様のバグ

先週の金曜にPHPで作った、UI系のプログラム。あっちこっちデバッグ文ぶち込んでも一向に動かず「衰えたかな?」とか思っていた。いくら考えても「変なところ」は見つからないのに、出てくる結果は確かに変。まさか?と思って、試しにカッコを付けてみたところ動いた。えー、ウソ。本当に??で、ググって言語仕様を確認した。本当だ。これさあ、PHP言語仕様のバグじゃん。三項演算子(a?b:c)が左結合ってあり得ないよ。基本的に元はと言えばC言語をモロにパクって言語仕様決めたんでしょ?だったら、こういうところで、ボケな間違いをかまさないで欲しいよね。C言語の三項演算子は(C++JavaC#も、あとJavaScriptもみんな一緒だけど)右結合だよ。それが明らかに自然だもん。これを意図的に変えるとは考えられない。ということは、PHP作った人ってバカなの?だから、形式言語ってものをまともに勉強したことのない人が「自分勝手言語」作っちゃいけないんだよ。今からでも遅くないから、PHPの次のリリースでは、三項演算子の結合は右結合にすべきだね。はぁ、こんなもののために、丸2日も悩んでしまった。

結局「素人っぽい悩み」だと思っていたことは、実は私が超プロ(PHPを作った人よりも私の言語に関するレベルが上)だったための悩みだったんだな(爆)。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証