うるとらすーぱーえくすぷれす

技術を尽くして全力で遊ぶ

プログラミングの代入の概念が理解できなかった話と克服した話

プログラミングを始めたての頃、どうしても代入がわからなかった。
数学的な代入の概念とプログラミングでの代入の概念が全く別のものだと知らなかったんだ。
でも何とか克服できた
【目次】

代入のなにがわからなかったのか?

まずは実際につまづいた式を見てほしい。
最初に見たときは全く意味が分からなかった。

X = X + 1;

XとX+1がイコールで結ばれている。
「XはX+1ですよ」
と不思議な主張がそこにあった。
この現実世界に住んでいる限りXと等しいものはXである。
XでなくともX = AやX = Bならば次の式が成り立つ。

X = A;
X = B;
X = A = B;

イコールで結ばれるというのはこういうことだと思っていた。
そうなると

X = X + 1;

は我々の住んでいる世界とは別の法則を内包している何かということになる。

今なら笑うしかない考え方だ。
しかし当時の僕は本気だった。

どうやってプログラミングの代入の概念がわかるようになったのか?

ここまで読んでいただければおわかりだろう。僕は数学の代入の概念とプログラミングの代入を同じものだと勘違いしていた。
この勘違いはある時に一発で解決した。

それは関係演算子を学習した時である。
そこにはこう書かれていた。

a == b (aとbは等しい)

え? ひとしい……?
==」は等しい。イコール! 等号!
ここに至ってようやく、僕はプログラミングにおいて
=」と「==」が異なる意味を持つことに気づいた。
=」は代入という文字通り、左の変数に右の値を入れる記号だったのだ。

ここからは理解が早かった。

次の順にXに代入した時に、
X = 1;
X = X + 1;
Xの中に入っているものは?
X+1;

おお! 読める! わかる!

まとめ

代入と関係演算子は同時に学習しよう

おそまつノシ