![見出し画像](https://assets.st-note.com/production/uploads/images/52410868/rectangle_large_type_2_a30821d568f9f4e3538b50a3a32b6def.png?width=1200)
プログラミングの学び始め
私が本格的にプログラミングを始めたのは、24歳のころです。
もう20年以上前の話ですが、その頃のプログラミング言語といえば「C言語」が主流で、もちろんHTMLやJavaScriptなどもありましたが、プログラミングといえばやっぱり「C言語」辺りから勉強するほうが良さそうな時代でした。
そんなこともあり、私は「C言語」の学習から始めました。
実際には、Windows の画面上で操作が可能な Visual C++ の開発ソフトウェアを購入し、それを使って勉強を始めました。
1ヶ月ほど自宅で学習し、それから未経験採用をしてくれる企業の面接に応募しました。
無事に採用され、そこからは会社でC言語の研修をしていただきました。
Visual C++ でも C言語でも、プログラミング言語の学習といえば、やはり最初に出てくるのが「変数」からです。
変数を知らずしてプログラミングが出来ないのは今も昔も変わりません。
変数とは何か?は、数学で学んできた内容と類似していたため、特に違和感なく頭に入ってきました。
算数で
1 + 1 = 2
と学んできたものを
2 = 1 + 1
と置き換え、更に
X = 1 + 1
のように、算数では無く数学的に考えます。
X = 1 + 1 な訳ですから、Xの値は「2」になります。
その状態で
Y = X + 1
だとすると、Y の値は何になるのか?
=============
問題:以下の式が成り立つとき、Yの値がいくらになるのか求めよ。
X = 1 + 1
Y = X + 1
=============
これは数学的な問題で、プログラミングではありません。
しかし、プログラミングではこの形を使用します。
中学校の数学で、XやYなどを使った経験があると思います。
実際には、そのXやYを使って方程式を書いたり、グラフを書いたり、因数分解をしたりと、数学では徐々に難しくなっていったと思いますが、プログラミングではそんな難しいことはしません。
そもそも
X + Y = 10
といった、左辺(= の左側)が計算式になっていることはプログラミングではありえません。
X = Y + 1
のように、左辺は必ず変数となり、右辺(= の右側)に計算式などが入ります。
そのため、プログラミングを上から順番に解析していけば、理解できないことはないと思います。
例えば
X = 5
X = X + 8
Y = X + 20
というプログラムがあれば
1行目:Xは「5」である
2行目:左辺のXは、1行目のXの値(5である)に8を足すので「13」である
3行目:Yの値は、2行目のXの値(13である)に20を足すので「33」である
結果、Yの値は33である
というような感じで、丁寧に見ていけば分かります。
ちょっと特殊なのは2行目で、数学的に考えれば
X = X + 8
などはありえません。
イコールを「左辺と右辺が同じである」という風に捉えてしまうと理解が出来なくなります。
プログラミングの処理の流れは
X = X + 8
を1つの処理で行うのではなく、実際には
1.右辺のX + 8 を行う
2.X + 8 の結果を左辺に入力する
という形で2ステップに分けて行われます。
そのため、プログラミングする際
X = 5
X + 8
のように、何の意味も持たない記述(X + 8)を書くことも可能です。無意味ですが。
変数には「型」の概念がありますが、そこはここでは書きません。
しかし、C言語においては型の概念は重要で、その知識は、その後学んでいくPHPなどのWEB開発言語でも隠されていて見えない部分として重要であることが分かりました。
もし今、WEB開発言語(HTML,Javascript,PHP,Ruby,Pythonなど)の学習を進められているのであれば、是非一度 C言語の学習をされることをお勧めします。
基礎の部分だけでもC言語の学習を終えておくと、様々なプログラム言語を学習する上での土台となることは間違いないと思います。