回答編集履歴
2
コメント指摘内容の反映
answer
CHANGED
@@ -1,24 +1,31 @@
|
|
1
1
|
既に多くの方が良い回答をなさっていますので、わたしなりに自分の考えをまとめるために回答させていただきます。
|
2
|
-
|
3
2
|
>b=aにより、bによるメモリ領域に、aの値5が入る所がすっきりしません。
|
4
3
|
の部分の理由がはっきり書かれていないので、そのあたり憶測になり的外れな答えかもしれません。
|
5
|
-
|
6
4
|
結論を先に言えば
|
7
5
|
|
8
6
|
0. プログラムの数式は、数学の様式を一部借りてはいるが数学の数式とは別のものである
|
9
|
-
0. 変数という概念を導入した以上、変数同士で値の受け渡しは必ず必要になり、
|
7
|
+
0. 変数という概念を導入した以上、変数同士で値の受け渡しは必ず必要になり、C言語では、a = b という書式が選ばれた
|
10
|
-
ということです。
|
11
8
|
|
12
9
|
数学の数式が、数学的事実の表記を目的としているのに対して、
|
13
10
|
プログラムの数式は(プログラムの他の部分同様)処理の手順を示しています。
|
14
|
-
そして、計算の手順を記載するうえで、
|
11
|
+
そして、C言語等においては計算の手順を記載するうえで、
|
15
12
|
|
16
13
|
> b = a
|
17
14
|
|
18
|
-
が、変数a の値を 変数b に入るという処理を示すということにするのが、
|
19
|
-
|
15
|
+
という形式が都合がいいとの判断から、数学の数式との意味の齟齬は無視されたのです。
|
20
|
-
|
21
16
|
実際、私が最初にこの言語仕様に出会った時思ったことは、「便利だな」「なるほどそうやるのか」程度で、質問者の方が持たれたような疑問は(数学の成績が悪かったせいか)あまり考えませんでした。
|
22
17
|
|
18
|
+
ただ、当時から「b = a」という記述方法しかなかったわけではなく、
|
23
|
-
|
19
|
+
代入の意味を明確にするために、代入記号に「:=」を使ったり、「LET」や「SET」と言ったキーワードを使って明確に代入を示す記法も存在しました。
|
20
|
+
|
21
|
+
C言語登場以降、大型計算機からより小型のPCなどへの計算機利用の移行という流れの中で、
|
22
|
+
C言語スタイルのシンプルな記述形式は流行し、
|
23
|
+
LET などのキーワードを省略可にしたりする言語も現れましたが、
|
24
|
+
PCの能力が往時の大型計算機に迫り、追い抜くようになってくると、
|
25
|
+
可読性や厳密性のために、こういった代入の書式を見直す言語も増えてきました。
|
26
|
+
|
24
|
-
|
27
|
+
いずれにしろ、プログラム一般において「変数から変数への代入」という処理の必要がまずあって、
|
28
|
+
書式はそれをどう表現するのがいいかを(それぞれの言語設計者がそれぞれの考えで)
|
29
|
+
後付けで考えて決めたものです。
|
30
|
+
その際に数式や英文の形式を借りてはいますが、そのままの意味であるとは限らないので
|
31
|
+
他所での解釈は一旦棚上げして考えるのが、プログラム言語を理解する早道だと思います。
|
1
誤字の訂正 祖語→齟齬
answer
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
> b = a
|
17
17
|
|
18
18
|
が、変数a の値を 変数b に入るという処理を示すということにするのが、
|
19
|
-
便利だったので、数学の数式との意味の
|
19
|
+
便利だったので、数学の数式との意味の齟齬は無視されたのです。
|
20
20
|
|
21
21
|
実際、私が最初にこの言語仕様に出会った時思ったことは、「便利だな」「なるほどそうやるのか」程度で、質問者の方が持たれたような疑問は(数学の成績が悪かったせいか)あまり考えませんでした。
|
22
22
|
|