プログラミング言語 | Programming Place Plus 用語集

トップページ用語集

名称

解説

プログラムを記述する際に使われる言語のことです。

プログラミング言語を使ってプログラムを記述するのは、通常は人間(プログラマー)です。そのため、人間にとって読み書きしやすい文法が定められています。一方で、コンピュータにとっては、直接的には理解や実行ができないため、コンパイル(翻訳)するなどして、コンピュータが理解できる機械語(マシン語)に変換しなければなりません。この辺りのしくみは、プログラミング言語の種類によって異なります。

プログラミング言語には非常に多くの種類があります。各プログラミング言語は、多かれ少なかれ、得意・不得意な分野があるため、目的に応じたプログラミング言語を選択することが理想的です(プログラマーがそのプログラミング言語を習得する労力も踏まえなければなりませんが)。

プログラミング言語は、色々な考え方によって分類できます。

水準による分類

比較的コンピュータの都合に寄って設計されているプログラミング言語は、低級言語(低水準言語)と呼ばれます。反対に、比較的人間の言語に近いように設計されているプログラミング言語は、高級言語(高水準言語)と呼ばれます。

明確な線引きはありませんが、多くの場合、低級言語とは機械語アセンブリ言語のことを指しており、それ以外のプログラミング言語を高級言語に分類します。

機械語への変換のしかたによる分類

ソースコードを機械語に翻訳(コンパイル)してから実行するコンパイラ型の方式と、ソースファイルの内容を読み取りながら、適宜、機械語へ変換して実行するインタプリタ型の方式があります。主として前者を使うプログラミング言語はコンパイラ型言語、主として後者を使うプログラミング言語はインタプリタ型言語と呼ばれることがあります。「主として」とあるように、いずれの方式にも対応できる言語も多く、そういう意味では、この分類方法にはあまり意味がないともいえます。

思想による分類

仕事の手順どおりに処理を書き並べていく手続き型プログラミング言語、データと処理を1つのまとまりとして捉えるオブジェクト指向プログラミング言語、関数の組み合わせによって表現する関数型プログラミング言語といったものがあります。また、これらを複合的に組み合わせたプログラミング言語もあります。

手続き型プログラミング言語にはC言語や COBOL などが、オブジェクト指向プログラミング言語には Java や C# などが、関数型プログラミング言語には Haskell や OCaml などがあります。

C++ はさまざまなタイプの手法が使える複合的なプログラミング言語(マルチパラダイムプログラミング言語)です。

記述の方法による分類

文字を使って記述するテキスト型のプログラミング言語が主流ですが、絵や図形のような表現を使ってプログラミングを行うビジュアルプログラミング言語もあります。

日本では、プログラミング教育必修化の影響などで、Scratch というビジュアルプログラミング言語が注目されるようになりましたが、ビジュアルプログラミング言語自体はかなり昔から存在しています。たとえば、LOGO という言語は 1967年に登場しています。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る