プログラミングってどうやって勉強すんねん・・・
という方は意外と多いのではないでしょうか?
大抵のことはググれば出てくるので、「こうやれば動く」みたいな情報は山ほどあります。
その一方、「なぜこう動く?」というとこまで解説してくれるものは、なかなか無いようでして。
それがモヤモヤの原因になっているのではないかと感じています。
目次
【方法】を教えてくれるものは多いが、【本質】を解説してくれるものは案外少ない
「ああすればこうなる」とだけ知っていても何とかはなるものです。
が、「なぜそうなるのか?」がわからないままだと、どことなく不安ですよね。
実は、「なぜ」の方がよっぽど大切なのです。
それを知って学習するのと、知らずに学習するのでは、飲み込みが随分と違ってきます。
まずは【本質】から理解しよう!
そこで、今回のテーマは
・そもそもプログラムとは何か
です。
この手の話をスっ飛ばして学習される方は多いみたいですが、これらを先に知っておくことで、その後の理解度が飛躍的にアップします。急がず焦らずしっかりと固めておきましょう。
プログラムとは?
プログラムとは、コンピューターに対する命令
ということを覚えておきましょう。
コンピューターが自分の意図した通りに動くよう、命令をまとめたものを【プログラム】と言います。また、その命令は【プログラミング言語】で記述する必要があります。
例えば、日本語しか話せない人に、「Please take soy sauce」と言っても理解できませんし、英語しか話せない人に対して、「醤油を取ってください」と言ったところでやはり通じません。
同じように、【機械に対しては機械の言葉】で話さないと理解してもらえません。
プログラミング言語は、機械語を人間の言葉に近くしたもの
機械の言葉は以下のような感じです。
0001010100101010101010101010101010010101010
これでは全く意味が分かりませんよね。
何か作ろうにも、「ゼロゼロイチゼロイチゼロゼロ・・・」なんて言っていたら心がへし折れます。
そこで、より人間が伝えやすいように登場したものが、【プログラミング言語】です。
殆どのプログラミング言語は、【英語】をベースに作られており、それぞれの規約で決まった構文を記述することで、勝手に「ゼロゼロイチ・・・」の形式に【翻訳】してくれます。
簡単な例ですが、
if (終電 == ある) { /* もしも終電があったら */ 帰れる } else { /* そうでなければ */ 帰れない }
ふざけているように見えて、本当にこんな感じです。
まとめ
①コンピューターに対する命令は、機械語で伝える必要がある
②プログラミング言語で記述することにより、機械語に翻訳することができる
③プログラミング言語で記述された命令をプログラムという
ということを解説させて頂きました。
もし、何となく構文を書いていたのであれば、これらを念頭に入れておきましょう。