アカウント名:
パスワード:
a = a + 1 に比べれば、可換でないのに"+"を使う方のはなんでもない。
# でも MOVE だけはご勘弁、どす (これも主観 :-)。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー
文字列連結 (スコア:2, 興味深い)
harako氏がなぜ残念に思うのか聞いてみたいところ。
Re:文字列連結 (スコア:2, 興味深い)
Re:文字列連結 (スコア:1, 参考になる)
どうも可換群の演算子は+と書くことが一般的 [nagaokaut.ac.jp]だから、という主張の様子。
実数全体から0を除いた集合って、小学校で習うような通常の積法に関して群だよね。
しかも可換。
これも通常+で書く?書かないよね?
確かに代数学やってる人間にとっては、加法群って常識的な定義なのかもしれない。
けど、なんつーか説明時の利便性のために導入された、適当なものにしか見えないんだけど。>加法群
Re:文字列連結 (スコア:2, 興味深い)
a = a + 1
に比べれば、可換でないのに"+"を使う方のはなんでもない。
Re:文字列連結 (スコア:0)
Re:文字列連結 (スコア:1)
# でも MOVE だけはご勘弁、どす (これも主観 :-)。
Re:文字列連結 (スコア:1)
#「入れる」という動きは読みとれないか…
Re:文字列連結 (スコア:1)
Re:文字列連結 (スコア:2, 参考になる)
それはともかく、演算という目で見ると文字列連結には終端処理が入るためそもそも勝手が違ってきます。数値として見た場合、文字列は終端を含めたものが群になるべきではないかと思いますので、片方の終端を削って全体を繋げるという演算は数学には存在しないのではないかと考えてしまうのです。(数学エキスパートではないので、もし存在してましたら失礼!)つまり数学として見る事自体が不自然ではないかと。
>それが気になる人は、代入演算に"="を使う方がよほど気持ち悪いと思うのだが。
↑そしてまさにこれです。私が最初プログラミングに出会ったとき(最初はBASICでした、その後は色々と…)、(=)が左辺と右辺を等価にみなすための意味ではなく、単なる代入を意味する記号として使われているのに違和感を覚えると同時に「ああ、マイコンではこう書くんだ。」(当時パソコンという呼び方はしてなかった(笑))とむしろ新鮮でした。
なので文字列連結も、数値演算とは別に言葉として「加える」という意味合いで(+)が使われていると普通に連想していたわけです。少なくともこの連想では「掛ける」を使うのが不自然に見えても仕方がないとお考えください。
結局のところ、ソース上の演算子って演算目的の記号と特定の動作を表す記号のダブルミーニングなんですよね。Cだとさらにポインターの意味も加わったりしますし。それは時たま目やコンパイラを迷わせますが、まあ慣れの問題で良いのではないかな~。…って、それだと(*)でもいいやんってなっちゃいますよね。でもそれだと英語で読む時に違和感があるんだよー。addだと文字列の場合でもそのままで読めるんで。
#だから私の感性ではって話ですので、論陣張らないようにお願いしますね…。