PHPのnamespaceのセパレータに'\'を採用 30
ストーリー by hayakawa
「:)」だと(一時的に)和めたんですけど 部門より
「:)」だと(一時的に)和めたんですけど 部門より
あるAnonymous Coward 曰く、
PHPのnamespaceセパレータに'\'が採用されることになった。(本家/.より)
採用基準は、
の5項目。開発者らが他の候補と比較しながら'\'に決定するまでのIRCログも公開されている。
- セパレータとしての入力のし易さ
- typo-vulnerability(typo時にエラーや警告なく意図しない動作に繋がらない)
- 構文解析のし易さ
- IDE互換性
- 文字数
なんでまた (スコア:2, すばらしい洞察)
まぁコードポイント自体が同じなので (スコア:1)
混乱の原因になるとはいえ、インタープリタ自体は
単に数値として見ているだけなので問題はないのでしょう。
とはいえ、いろいろなシチュエーションでエスケープのために
使われる \ というかバックスラッシュを割り当てるというのは
なにか問題が出ないだろうかと心配になります。
どんな議論が交わされたのか後で見てみるか…
屍体メモ [windy.cx]
Re: (スコア:0)
Re: (スコア:0)
なるほど (スコア:2, すばらしい洞察)
>2. typo-vulnerability(typo時にエラーや警告なく意図しない動作に繋がらない)
>
がしばらく「???」だったんですが、英語キー配列の場合は「:」と「;」が同じキーに割り当てられてるんだ!っていうのに気付いて妙に納得した。
「::」を「:;」とかって入力しちゃって、しかもドット単位でしか見た目違わないからエラーにまったく気付かない、と。
どうせ互換性維持のためにユーザー側で選択的に「::」も使えるようにするんだろうし、バックスラッシュ「も」使えますよっていう仕様変更ならエンドユーザー側にはほぼ影響ないでしょうね。
Re:なるほど (スコア:1, すばらしい洞察)
主眼は、「タイプミスしたときに文法的に正しいものとして受諾されずエラーになるような字句要素を選ぶ」ってことじゃないかな。
なんだあたしゃまた (スコア:0)
って、
英語キーボードだとバックスラッシュキーはほかのキーよりひときわ大きめな(ことが多い)
のを指しているんだとばかr(ry
\ or ¥ (スコア:1)
この時点でナニがアレ。
Macってどちらも入力できるんでしたっけ。
Re: (スコア:0)
¥\
ほらね!でも投稿するとどちらにせよ¥になるのでA.C
Re:\ or ¥ (スコア:2, 興味深い)
Re:\ or ¥ (スコア:2, 参考になる)
現状のmacのややこしいのは,ソフトによってバックスラッシュと円マークをどれくらい区別してるかが違うこと.普通にバックスラッシュを入力した時に,円マークが入力される場合もあればバックスラッシュが入力される場合もある.さらに,その円マークがバックスラッシュとして使える場合もあれば使えない場合もあるという(たぶん文字コード依存?).
TeXとかでコマンドを打ち込む時とか,正規表現で¥dとか打つ時に何で動かないんだろうとはまる時が.個人的には円マークなんてほとんど使わないので,TeXのコマンドとかエスケープとかのバックスラッシュをいちいちoptionつけて打ち込む羽目になるのは勘弁して欲しいと思ったり.
Re:\ or ¥ (スコア:2, 参考になる)
一部のソフトがこれらを同一視することがあるのは、正規化 [unicode.org]のためです。
ASP.Netで (スコア:1, 興味深い)
巧い回避方法があるのかもしれませんが。
Re: (スコア:0)
Unicode が絡む途端に問題が顕在化するわけですな。
# なので、これを理由に Unicode 批判は筋違い
Re: (スコア:0)
U+5C REVERSE SOLIDUS
U+A5 YEN SIGN
U+FF3C FULLWIDTH REVERSE SOLIDUS
U+FFE5 FULLWIDTH YEN SIGN
Re: (スコア:0)
何故だ…
Re: (スコア:0)
IRCの某チャンネルでは (スコア:1)
「そりゃ形が \ だからね」
という話になりました。
PHPステステの理由がまたひとつ (スコア:0, フレームのもと)
Re: (スコア:0)
文句だけなら誰でも言えるんです。
文句だけのコメントはノイズにしかならない。
Re:PHPステステの理由がまたひとつ (スコア:1, すばらしい洞察)
Re: (スコア:0)
それはまたずいぶんと自虐的ですね。
Re: (スコア:0)
エディタ/IDEの強調表示 (スコア:0)
対応しようとするとエスケープを""内のみとかに限定すればいいのか。
じゃぁコメント行に"を奇数書いた人とかどうすんのよとか頭の悪いことを考えてしまうではないか...
# 本質(プログラムの動作)とは関係ないとはわかっちゃ居るけど気持ち悪い
Re: (スコア:0)
「//」や「#」なら行末まで、「/*」なら「*/」まで。
未来予想図 (スコア:0)
「セパレータを入れたつもりがバックスペースでデータを消していた」
と言う落ち
文字列の中に (スコア:0)
- ワンライナーを書くのが面倒になった
プログラムからwindowsでファイルパスを扱う時に起きた面倒がほとんど全て当てはまる感じですか。
C#の @"" みたいなのはphpにはあるんでしょうか。
Re:文字列の中に (スコア:1, 興味深い)
# 初心者の頃一度これに泣かされましたぁ
# 今回のバックスラッシュの採用もこれに通じる所があるかも
パーサ初心者用機能か。 (スコア:0)
何にするか議論するぐらいならlispかML(か最低でもC++)を見習えと言いたい.
どうせ, 初心者が混乱する とか言って逃げたんだろうが,
これで次期標準?ではラムダ式とかクロージャをサポートするとか のたまってるから笑えるw
----- C++はツンデレ