プログラミング言語とは?|プログラミング言語が必要な理由、どんな種類があるのかなどを3分でわかりやすく解説【プログラミング初心者向け】

【用語解説】プログラミング言語関連

こんちには。キノコードです。
この動画では、プログラミング言語について説明します。
▼ YouTube動画はこちらからどうぞ。

この記事の執筆・監修

キノコード
キノコード

テクノロジーアンドデザインカンパニー合同会社のCEO。
日本最大級のプログラミング教育のYouTubeチャンネル「キノコード」や、プログラミング学習サービス「キノクエスト」を運営。
著書「あなたの仕事が一瞬で片付くPythonによる自動化仕事術」や、雑誌「日経ソフトウエア」や「シェルスクリプトマガジン」への寄稿など実績多数。

プログラミング言語とは

プログラミング言語とは、コンピュータを動かす言語のことです。
プログラム言語とも呼ばれます。

プログラミング言語が必要な理由

なぜプログラミング言語が必要なのでしょうか?
コンピュータは、日本語や英語などの「人間語」を理解することができないからです。
コンピュータは、機械語と呼ばれる「0」と「1」だけでできた言葉しか理解することができません。
そのため、人間語を機械語に変換できる言語が必要になります。
それがプログラミング言語です。
つまり、プログラミング言語は「人間とコンピュータが会話をするために必要な言語」と言えます。

静的型付け言語と動的型付け言語

プログラミング言語には、静的型付け言語と動的型付け言語があります。
静的型付け言語は、プログラマがデータの種類をあらかじめ決めてプログラミングするタイプの言語です。
データの種類とは、数値、文字、日付などのことです。
一方、動的型付け言語は、プログラマがデータの種類をあらかじめ決める必要がないタイプの言語です。
代わりに、コンピュータがデータの種類を判断してくれます。
動的型付けの方が魅力的に見えるかもしれません。
しかし、静的型付け言語の方が、プログラムの処理速度が速いというメリットがあります。
なぜでしょうか?
プログラミング言語は、最終的には機械語に変換されます。
コンピュータが機械語に変換する際、データの種類という情報が必要になります。
動的型付け言語の場合、機械語に変換する時に、コンピュータがデータの種類を判断するので、その分、処理が遅くなるのです。
結果として、静的型付け言語の方が、プログラムの処理速度が速くなるのです。

低水準言語と高水準言語

プログラミング言語は、低水準言語と高水準言語にも分けられます。
低水準言語とは、機械語に近い言語のことです。
反対に高水準言語とは、人間の言葉に近い言語です。
基本的に機械語に近ければ近いほど、プログラムの速度は上がります。
つまり、低水準言語の方が速いプログラムを作れます。
一方で、低水準言語は、人間にとって理解しにくいソースコードになります。

アセンブリ言語

アセンブリ言語は、代表的な低水準言語です。
C言語はアセンブリ言語から作られています。
アセンブリ言語を機械語に変換するソフトウェアのことを「アセンブラ」といいます。

コンパイラ言語

コンパイラ言語は、静的型付け高水準言語です。
コンパイラ言語とは、プログラミン言語で書かれたプログラムを、機械語に一括して変換して実行するプログラミング言語です。
「コンパイラ」と呼ばれるソフトウェアを使って機械語に変換するのが特徴です。
代表的なコンパイラ言語として、Java、C言語、C++、C#、Kotlin、Rust、Scalaなどがあります。

スクリプト言語

スクリプト言語は、動的型付け高水準言語のことです。
スクリプトとは、「下書き」「原稿」「台本」という意味です。
簡単に書けるということから、プログラムの記述や実行が簡単な言語のことスクリプト言語といいます。
スクリプト言語は、コンパイラ型の言語と違い、インタプリタ型の言語です。
インタプリタ言語は、機械語に一括して変換するコンパイラ言語に対して、プログラム実行時に1行ずつ変換する言語のことです。
代表的なスクリプト言語として、Python、JavaScript、PHP、Rubyなどがあります。