プログラムとは、コンピュータを動かすための文法です。
プログラムでは、プログラミング言語と呼ばれるコンピュータのための
言語を使用して、コンピュータを操作します。
プログラミング言語にはC言語のほかに、C++やJava、Rubyといったように
さまざまな種類があります。
もちろん、種類によって多少の文法の違いがあるので、
勉強する必要がありますが。
少し余談ですが、プログラミング言語の種類によって、得意不得意があります。
C言語だけでも様々な処理をすることはできますが、
将来的には、先に挙げたようなプログラミング言語を習得してもいいかもしれません。
ここで説明しなくても、プログラミング言語がコンピュータのための言語であることを、
ほとんどの方は知っておられるかと思います。
しかし、簡単にプログラムを理解できないのは、プログラム言語と
普段私たちが使用している言語との間に大きな違いがあるからです。
プログラミング言語は私たちの使用している言語の文法に比べて、非常に単純です。
プログラミング言語の文法は、記述する単語の順番が決められているだけなんです。
たとえば、画面に「C言語の勉強をしましょう」と表示させることを考えてみます。
私たちの言語で表現すると
画面に「C言語の勉強をしましょう」と表示させてください。
という感じになります。
これをプログラミング言語風に書きなおすとこうなります。
写せ C言語の勉強をしましょう
たった2つの単語だけですが、これがプログラミング言語の文法です。
プログラミング言語で使われるのは、ほとんどが動詞と目的語です。
記述する順番は
動詞 目的語
の順になります。
上記の例からわかっていただけたと思いますが、プログラミング言語の文法は非常に単純です。
しかし、コンピュータへの命令を表現できればよいので、これで十分なのです。
プログラミング言語は私たちの使用している言語に比べて、意味が明確です。
曖昧さがまったく無いと言ってもいいでしょう。
たとえば、コンピュータにカップラーメンを作ってもらう
ということを考えてみます。
人間相手なら、「カップラーメンを作ってくれ」という曖昧な表現でも、
ちゃんと意味を理解してカップラーメンを作ってくれます。
しかし、相手がコンピュータなら話は別です。
まず、現在地として座標データみたいなものが必要になります。
その位置から、キッチンに行くために
10メートル前進する
右を向く
3メートル前進する
といったように指示をしなければなりません。
これだけでは不十分であり、
蛇口をひねってヤカンに水を入れる。(先ほどと同じように逐一制御しなければなりません)
火をかける
沸騰したら火を止める
といったようにカップラーメンにお湯を注ぐまで
人間が行う行動1つ1つを事細かに制御する(教え込む)必要があります。
また、何かの拍子にヤカンの水をぶちまける事態が発生したとしても、
コンピュータにとっては、それも単なる動作の1つに過ぎず、
その行為がミスと認識しません。
やかんの水をぶちまける=ミス であることを教えておかなければなりません。
このようにプログラミング言語には厳格な意味を持っているのです。
この例では曖昧さがまったく無いように思うかもしれませんが、
厳密には、まだ曖昧さが残っているのです。
ここで、極限の理論を展開しても仕方がないのでこれくらいに留めておきますが、
コンピュータはこのような厳密な機械であることは覚えておいてください。