元ネタ:http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=36756&forum=12&start=0
=を代入とするかEqualにするかで燃えています(というか,1対:多なんですが)。
違和感一杯に読ませて頂いてます。雑感なんですが、
表現方法にとらわれ過ぎだと感じました。彼の箇所で発言したかったのですが、遠慮してここで書かして貰います。(噛み付かれるのを怖がってます)
a=X を代入とするか,比較イコールとするかは,言語仕様の問題であって,単なる約束事に過ぎません。
c系だと a=b=c=0; だと, c=0 の結果は0 なので, b=0 となり,その結果 a=0となる.
basic系だと a= (b=( c=0))) 解釈され c=0 のbool値が反映される. .netだと型ではねられるかな.
解釈の差でしかないでしょう。つまりローカルールなんですね。
言語表記に使える字種が限られているから,同じ記号を違う意味に矛盾なく使いまわしているんですよね。言語使いは文脈から判断し,適切に使い分ける。
語句解釈であるコンパイラーもオートマトンのルールで解釈している。それだけなのに,数学という切り口だけで論じられると混乱を来たします。
アプリのネーミングルールで経験したことです。項目名のローマ字の可否論はあるのですが,ローマ字式と英単語式が混在したシステムがあって,且つ扱う対象が植物の時でした。
項目1= HanaName
項目2= HanaPrice
項目3= TakeKenzan
..項目3は てっきり "竹用の剣山" と解釈したのですが, "剣山の相手"だって.(なんのこっちゃ)
こんなのは異常でしょうが,前提条件の共通認識がズレルと解釈が変わってきます。
ローマ字表記にするなら,英単語を用いるな!..と言いたかったです。
各言語が代入文に "=" , ":=" ,"<-" などの記号を当てはめて,比較Equal文との識別を試みてますが, 人は優秀なので,代入文とEqual判定文の区別はつきますよね。
表現文字が有限で在る以上,一つに記号に複数の意味を持たすのは不可避です。解釈する側が意訳するしかないと思うのです。
数学(算数)上の意味付けを他分野に持ち込むのは論理に無理があると思いました。