小学生にもわかるようプログラミング言語について解説
プログラミング言語とは
プログラミング言語について、まず説明していきます。プログラミング言語とは、プログラムを作成する際に使用する言葉のルールのことです。普段使用している「日本語」や「英語」といった言葉とはまた違うルールになっているため、新たに覚えていく必要があります。では、なぜ普段使用している日本語や英語を使用できないのでしょうか。それは、命令を実行する機械側が普通の日本語や英語を理解することが出来ないからです。その理由として、人間が使う言語のルールはとても難しいことが挙げられます。逆に機械が理解することが出来る言語もまた、人間にはとてもじゃないですが理解できるものではありません。このように人間が使う言語のことを「自然言語」、機械が使う言語のことを「機械語」とそれぞれ呼びます。ではプログラミング言語はどうなっているのでしょうか。それは「人間が理解して記述することが出来る」、「機械側もその意味を理解することが出来る」言語になります。つまり人間と機械を橋渡しする言語になります。この際、記述されたプログラミング言語がそのまま機械側にも理解できるような言語のことを「インタプリタ型言語」、記述されたプログラムに対して何かしらの変換(この作業のことをコンパイルと呼びます)を行い、機械側が読める形に変えるような言語のことを「コンパイル型言語」言語と呼びます。プログラミング言語はこの変換方法や機械側への情報の渡し方等、様々な違いがあります。このことから目的に合わせて多種多様なプログラミング言語を組み合わせてプログラムを作成していくのです。
プログラミング言語の選び方
上記でも述べたようにプログラミング言語は大きく分けて2つあり、それぞれでまた多種多様な言語が存在します。漠然と「プログラミングを始めるぞ!」と考えても、まずどの言語を選べばいいのかで躓く人が多いです。そこで、どのようにプログラミング言語を決めればよいのかを記述していきます。まず第一に、「どのようなプログラムを作りたいか」が決まっている場合、とても簡単です。そのプログラムの仕様を実装しやすい言語を選びましょう。例えばネットアプリを作成したい場合、まず大前提としてWebページを構成する「html」や「css」が必要です。また、動的な動作を実装するためには「php」や「JavaScript」言語が得意としています。クローリングと呼ばれるWeb検索を自動で実行し、その結果を取得して何かする場合は「python」言語が必要になるでしょう。このように目的が決まっている場合はそれに沿った言語を選びましょう。第二に、何を作りたいかが決まっていない場合ですが、文法が比較的簡単な「JavaScript」や「python」言語がおすすめです。特に「JavaScript」は「インタプリタ型言語」のため、準備がとても簡単です。
コンパイル型言語について
さて、ここでプログラミング言語の大分類について解説していきたいと思います。まず1つ目は「コンパイル型言語」です。上記でも述べた通り、機械は人間の言葉を理解することは基本的にできず、逆に我々人間は機械を動かすための命令を基本的には読むことが出来ません。そこで人間と機械、それぞれの橋渡しをしているのが「プログラミング言語」でしたね。「コンパイル型言語」は人間が理解できるルールでプログラムを記述します。その後、機械側へ渡す前に「コンパイル」と呼ばれる処理をプログラムファイルに施します。これにより、機械が理解できるプログラムファイルに変身させるのです。「コンパイル型言語」のメリットは、処理速度が速いことです。後述する「インタプリタ型言語」と違い、「コンパイル型言語」のコンパイル後のファイルは、より機械が理解しやすいように記述されているため、機械側がスラスラと読み込んでくれるのです。しかしデメリットもあります。作成したプログラムを毎回コンパイルしなくてはいけないため、手間がかかります。また、プログラムがきちんと動くかどうかのチェックが難しい、という点もデメリットです。この2点のデメリットが初心者にはなかなか厳しいものとなっているため、おすすめしづらい言語になります。ただ、きちんと仕組みを理解し、手間と時間をかけることが出来るならメリットである処理速度を活かしたプログラムを作成することが出来ます。
インタプリタ型言語について
上記では「コンパイル型言語」について記していきましたが、次は「インタプリタ型言語」について解説していきます。「インタプリタ型言語」は、記述したプログラムをそのまま機械が読み込みます。そのため「コンパイル」が必要ありません。「人間側も機械側も理解できる言語」というイメージです。こちらの言語のメリットとして、作成したプログラムをすぐに実行することが出来る点が挙げられます。また、これによりプログラムのチェックがスムーズに行える点も魅力です。プログラミングを行っていくうえで、一発で成功することはまずありません。少しずつ何度も挑戦し、ミスを修正していくことで完成を目指すのですが、修正したらすぐに結果に反映される「インタプリタ型言語」は、とっつきやすくミスの修正もすぐに行える点で初心者におすすめされます。対してデメリットについてですが、「コンパイル型言語」と比べて処理速度が遅いです。これは「コンパイル型言語」がコンパイルによって前もって機械側に最適な形にしているのに対して「インタプリタ型言語」はプログラムを実行する際に少しずつ機械側が解読しているために発生しています。なので速さが必要な処理は「コンパイル型言語」で、何度も変更がありそうなプログラムは「インタプリタ型言語」で、と言った使い分けが重要になります。
プログラミング言語について まとめ
最後に、これまでの解説をまとめさせていただきます。
- 「プログラミング言語」は機械と人間を橋渡ししてくれる言語
- 「プログラミング言語」にはコンパイルが必要な「コンパイル型言語」と不要な「インタプリタ型言語」が存在する。
- 初心者にはチェックが簡単な「インタプリタ型言語」がおすすめ
- 処理速度が重要な場合は「コンパイル型言語」がおすすめ