- 933 名前:デフォルトの名無しさん mailto:sage [2016/05/18(水) 12:22:37.98 ID:KpXKuwGu.net]
- >>913
アセンブリ言語や古代のFortranにはif文なんて無い。 「条件分岐に用いられる『フラグ』がCPUに組み込まれている」 「フラグは(一部例外を除いた)命令を実行する毎に更新される」 「フラグが特定の組み合わせであれば分岐する命令が存在する」 といった前提から、ある命令の組み合わせによって 「直前の演算の結果が0なら何もせず、0でなければgotoする」 みたいな機能を生み出し、それを使ってプログラミングするのがC以前の話。 それの短縮記法が&&とか||とか。 一方でLispには 「AとBが等しければtrueを、そうでなければfalseを返す関数」とか 「引数を2つ受け取って、1つ目の値がtrueなら2つ目の式を実行する関数」とかがあって(厳密には用語とか動作とかが大分違うけど省略) そこからCに受け継がれたのがifとかswitchとか。 まとめると > という書き方がありますが、これがあればif文って実は必要ないですよね これは、brainfuckがあればC言語要らないよねっていうレベルの暴論。 同じことは出来るけど、元になった概念が全然違う。 極論を言うと、理論上は演算子なんて1つで十分 https://en.wikipedia.org/wiki/One_instruction_set_computer
|

|