自分の振り返りとしてプログラミング言語とは何かをまとめてみた
- CODING
こんにちは、スイッチディレクターの吉野です。
今回は、今更ながらプログラミング言語とは何か、何をしているものなのかを自分の学習の振り返りを兼ねてまとめてみようと思います。学校でも必修化され、以前よりも私達に身近なものとなっているプログラミングですが、初心者である自分が初心者目線でまとめることができればと思っています。間違い等があれば、ご指摘いただけると幸いですm(_ _)m
プログラミング言語とはそもそも何をしているのか?
では、早速プログラミング言語について説明していきたいと思います。
皆さんは、普段言語を使用して会話をしたり、文字でやり取りしていますよね。日本ではほとんどの方が日本語を使用しているかと思います。お互いが日本語を知っていれば、相手の言っていることが理解できるので、会話も文章のやりとりもできますが、いきなりドイツ語を使用されるとどうでしょう?ほとんどの方は意味を理解することができずに困ってしまうのではないかと思います。そんな時は翻訳したりして、意味を理解しますよね。
私達が他の国の言葉をすぐに理解することができないように、コンピューターも人間の言葉では命令を理解することができません。たとえば人間が、「1+1は?」と聞いてもコンピューターからすると、何を言っているのか分からないのですね。
コンピューターの司令塔であるCPUは機械語でなければ命令を理解できません。この機械語は数字の「0」と「1」で表される言語であるため、コンピューターにとっては分かりやすくても、人間にとっては非常に分かりにくいです。
なので、コンピューターに作業を理解してもらうために「プログラム」が必要になり、この「プログラム」を作成する作業である「プログラミング」を行うために「プログラミング言語」が作られました。プログラミング言語の多くは、数字ではなくテキスト形式で記述するので、人間にとっても理解しやすくなっています。このプログラミング言語で書かれたプログラムのことを「ソースコード」と呼びます。
例えば、プログラミング言語の一つである、C言語で「Hello,world」と表示するプログラムは上の画像のようなソースコードになります。色々とよく分からない文字も書いてあり、まだ分かりにくいよ!と思う方もいるかもしれませんが、「0」と「1」のみで表されるよりも、なんとなく意味が伝わるのではないかと思います。
まとめると、機械語しか理解できないコンピューターに処理を行ってもらうために、人間にも分かるような言語で書いた指示書が必要になり、その指示書を書くために「プログラミング言語」が必要になります。
プログラミング言語で書いたプログラムをPCはどう理解しているのか?
ただし、単にこのソースコードを書くだけではコンピューターはまだ命令を実行することができません。
コンパイルという言葉を聞いたことがある方もいらっしゃるかもしれませんが、ソースコードをさらにあれやこれやと変換して「実行ファイル」にすることで、コンピューターは処理を実行します。
聞き慣れない言葉がたくさんでてきて、勉強を始めたばかりの方はもう何が何やらとなってしまうかもしれません。プログラミングを始めてみたいなという方は、なんとなくコンピューターに命令がわかるように色々しているんだなという雰囲気を掴めたら十分だと思います。もう少し説明が続きますので、もし興味のある方がいらっしゃれば、もうしばらくお付き合いください。
では、説明に戻ります。
ソースコードをコンピューターが分かるようにするためには、いくつかの手順が必要になります。
まず、ソースコードを「オブジェクトコード」に変換します。
オブジェクトコードとは、人間にも分かりやすいように書いたソースコードを変換して、コンピューターが実行できる形式にしたものです。
オブジェクトコードは通常、ソースコードを変換することで生成されます。この変換するソフトウェアを「コンパイラ」と言い、変換することを「コンパイル」と言います。
また、実際の命令は一つのオブジェクトファイルではなく、複数のオブジェクトファイルが組み合わさって実行されます。バラバラにコンパイルされたオブジェクトファイルを一つに結合して、実行可能なファイルにするソフトウェアを「リンカ」と言います。
Windowsを使用されている方だと、拡張子が.exeのファイルを見たことがあると思いますが、これが実行ファイルです。
長くなってしまいましたが、まとめると「プログラミング言語」は人間にも分かりやすい形でプログラムを作成するための言語で、コンピュータに理解してもらうためにはコンパイルして、機械語で書かれているオブジェクトファイルにする必要があります。また、実行する際は、リンカによって複数のオブジェクトファイルを結びつけ、実行ファイルにすることでPCは命令を実行することができるというのが大まかな流れになります。
以上が簡単なプログラミング言語とはどういうものかという説明になります。
次回は、たくさんあるプログラミング言語の一部を抜粋して、それぞれの特徴などについてご説明できればと思っています。
私もまだまだ学習中の身ですので、認識の間違い等ございましたら申し訳ございません、ではまた次の記事でお会いしましょう。