カレンダー

2023/11
   
  
       

広告

Twitter

記事検索

ランダムボタン

存在しない演算

by 唐草 [2023/11/04]



 >と<。
 ネットでは絵文字の目として用いられることがほとんどだが、本来は数学で用いる不等号。
 x > 3 や y < x+1といった使い方が本来の用法。
 不等号はひっくり返しても意味は変わらない。つまりx > 3と3 < xは同じだ。
 不等号はプログラムにも出てくる。その場合、数学とは少し意味が異なる。数の大きさを比べる比較演算子になる。右辺と左辺を比べて大きいか小さいかを判断して真偽値を返す。こう書くと難しく見えるが、「xが3より大きければ真」というのを”x > 3”と書くというだけ。これは文法でありルールだ。
 プログラムの比較演算子は、数学記号の不等号と同じようにひっくり返して使うことができる。つまり、プログラムでも数学と同じようにx > 3と3 < xは同じ。
 だが、ぼくは比較演算子をひっくり返して柔軟に使えない。
 ぼくのアルゴリズムには”<”が存在しない。つまり、左辺が右辺より小さい時という条件が、ぼくの中には存在していないと言っていい。
 それでもプログラムを書く上で困ることはない。右辺と左辺を言えれ変えて、不等号の向きを逆にすれば良いだけ。
 だから、ぼくのプログラムを覗くと”>”しか見つからない。
 >と<のどちらを用いても意味が同じことを言葉では理解している。だが、抽象度の高いプログラムや数学の世界で理解しているとは言い難い。
 見た目が気持ち悪いとかこだわりで書いているという訳ではない。本当にぼくの中に”<”という比較演算子が存在していないのだ。左辺が右辺より小さい時という条件が、ぼくはうまく処理できない。理解できていないと言い切っていい。
 言葉で考えれば、とても単純な話。また、日常会話で以上と以下を間違えたり、より大きいがその数を含むのかで迷うことはないし、間違えることもない。
 それなのにプログラムを書くときだけは別。x > 3は「xが3より大きいとき」だと瞬時に分かるのに、3 < xと書かれると何を意味しているのか理解するのに5秒ぐらい要してしまう。なぜ不等号の向きが逆になると理解できなくなるのか自分でも不思議で仕方ない。