こんにちは。E-Taroです。今回のテーマは「プログラミング言語を端的に表すと?根底にあるものは非常にシンプル」です。
Table of Contents
何だか得体のしれない「プログラミング言語」
プログラミングとかプログラミング言語と聞くと「ぎゃっ」と拒否反応を示す方も少なくないのではないでしょうか。なんとなく、一昔前の英語やパソコンに対する拒否反応と似ています。
今まで日常になかったものが身近になりつつある中で、「得体の知れないものだから、出来るだけ近付きたくない。今までで十分。自分を変えるのが面倒。」というところでしょうか。
当然、使いこなすためには、慣れや経験を通じて「覚えていく」こともある程度は必要ですが、まったく未知のものというわけではありません。
自然言語(人と人)、機械語(機械と機械)
プログラミング言語の対比としては、第一に「自然言語」、第二に「機械語」があります。
自然言語は、私たちが日々使っている言葉(日本語、英語、その他沢山)です。それぞれの歴史や文化との紐づきが強く、方言もありますね。連絡手段だけでなく、感情を表現するためにも使われます。「人と人のコミュニケーション」です。
機械語は、まさに0と1の二進数でデジタル表現されているものです。機械は電流のオンオフでデジタル信号を表現して情報を伝達しているので、プログラミング言語で表現されたコードも、最終的にはゼロ(電流を流さない)かイチ(電流を流す)かの表現に落とし込まれることになります。「機械と機械のコミュニケーション」とも言えるでしょう。
プログラミング言語(人と機械)
そして本命のプログラミング言語ですが、これは人間が機械やコンピュータに指示するために作られた人工言語です。機械やコンピュータは本質的に曖昧さを苦手としているため、正確かつ完全なコミュニケーションを人間側で心掛けないと、機械やコンピュータは解釈できず動けません。
例えば、「確率と確立」は、メール等でよくある誤字ですが、読む人はなんとなくこっちだろうと判断して読み進められます。英語のスペルミスも同様でしょう。誤字脱字や、なんとなく変な言葉遣いだったり、主語が抜け落ちていても、文脈からなんとなく分かるケースがほとんどです。
そのため、人が機械やコンピュータと会話するためには、予め「構文」と「意味」を厳密に定めておこう、としてプログラミング言語が生まれました。とはいえ、会話する相手となる機械やコンピュータも、世の中における役割が多岐にわたるため、その役割に応じて多種多様なプログラミング言語が生まれて使われています。
まとめ
そのため、プログラミング言語を学び始める際には、「自分が会話したい相手となる機械やコンピュータは誰か」という視点で選ぶといいでしょう。
それでは、また。