回答編集履歴

2

コメント指摘内容の反映

2020/04/15 07:13

投稿

kozuchi
kozuchi

スコア1193

test CHANGED
@@ -1,12 +1,8 @@
1
1
  既に多くの方が良い回答をなさっていますので、わたしなりに自分の考えをまとめるために回答させていただきます。
2
-
3
-
4
2
 
5
3
  >b=aにより、bによるメモリ領域に、aの値5が入る所がすっきりしません。
6
4
 
7
5
  の部分の理由がはっきり書かれていないので、そのあたり憶測になり的外れな答えかもしれません。
8
-
9
-
10
6
 
11
7
  結論を先に言えば
12
8
 
@@ -14,9 +10,7 @@
14
10
 
15
11
  0. プログラムの数式は、数学の様式を一部借りてはいるが数学の数式とは別のものである
16
12
 
17
- 0. 変数という概念を導入した以上、変数同士で値の受け渡しは必ず必要になり、だとすれば、a = b という式が一番楽で直感的に覚えやすい。(だから、そのように言語の仕様は設計された)
13
+ 0. 変数という概念を導入した以上、変数同士で値の受け渡しは必ず必要になり、C言語では、a = b という式が選ばれた
18
-
19
- ということです。
20
14
 
21
15
 
22
16
 
@@ -24,7 +18,7 @@
24
18
 
25
19
  プログラムの数式は(プログラムの他の部分同様)処理の手順を示しています。
26
20
 
27
- そして、計算の手順を記載するうえで、
21
+ そして、C言語等においては計算の手順を記載するうえで、
28
22
 
29
23
 
30
24
 
@@ -32,16 +26,36 @@
32
26
 
33
27
 
34
28
 
35
- が、変数a の値を 変数b に入るという処理を示すということにするのが、
36
-
37
- 便利だった、数学の数式との意味の齟齬は無視されたのです。
29
+ という形式が都合がいいと判断から、数学の数式との意味の齟齬は無視されたのです。
38
-
39
-
40
30
 
41
31
  実際、私が最初にこの言語仕様に出会った時思ったことは、「便利だな」「なるほどそうやるのか」程度で、質問者の方が持たれたような疑問は(数学の成績が悪かったせいか)あまり考えませんでした。
42
32
 
43
33
 
44
34
 
45
- 初期の言語では変数の代入に LET や SET どのキーワードを入れて代入動作を
35
+ ただ当時から「b = a」という記述方法しかかったわけではなく
46
36
 
37
+ 代入の意味を明確にするために、代入記号に「:=」を使ったり、「LET」や「SET」と言ったキーワードを使って明確に代入を示す記法も存在しました。
38
+
39
+
40
+
41
+ C言語登場以降、大型計算機からより小型のPCなどへの計算機利用の移行という流れの中で、
42
+
43
+ C言語スタイルのシンプルな記述形式は流行し、
44
+
45
+ LET などのキーワードを省略可にしたりする言語も現れましたが、
46
+
47
+ PCの能力が往時の大型計算機に迫り、追い抜くようになってくると、
48
+
49
+ 可読性や厳密性のために、こういった代入の書式を見直す言語も増えてきました。
50
+
51
+
52
+
47
- 明確化してるものもありますが、表記上冗長なので廃ていきレガシーな仕様と部の言語っていません。
53
+ ろ、プログラムおいて「変数ら変数への代入」という処理の必要がまずあって
54
+
55
+ 書式はそれをどう表現するのがいいかを(それぞれの言語設計者がそれぞれの考えで)
56
+
57
+ 後付けで考えて決めたものです。
58
+
59
+ その際に数式や英文の形式を借りてはいますが、そのままの意味であるとは限らないので
60
+
61
+ 他所での解釈は一旦棚上げして考えるのが、プログラム言語を理解する早道だと思います。

1

誤字の訂正 祖語→齟齬

2020/04/15 07:13

投稿

kozuchi
kozuchi

スコア1193

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  が、変数a の値を 変数b に入るという処理を示すということにするのが、
36
36
 
37
- 便利だったので、数学の数式との意味の祖語は無視されたのです。
37
+ 便利だったので、数学の数式との意味の齟齬は無視されたのです。
38
38
 
39
39
 
40
40