プログラムを記述する際に使われる言語のことです。
プログラミング言語を使ってプログラムを記述するのは、通常は人間(プログラマー)です。そのため、人間にとって読み書きしやすい文法が定められています。一方で、コンピュータにとっては、直接的には理解や実行ができないため、コンパイル(翻訳)するなどして、コンピュータが理解できる機械語(マシン語)に変換しなければなりません。この辺りのしくみは、プログラミング言語の種類によって異なります。
プログラミング言語には非常に多くの種類があります。各プログラミング言語は、多かれ少なかれ、得意・不得意な分野があるため、目的に応じたプログラミング言語を選択することが理想的です(プログラマーがそのプログラミング言語を習得する労力も踏まえなければなりませんが)。
プログラミング言語は、色々な考え方によって分類できます。
比較的コンピュータの都合に寄って設計されているプログラミング言語は、低級言語(低水準言語)と呼ばれます。反対に、比較的人間の言語に近いように設計されているプログラミング言語は、高級言語(高水準言語)と呼ばれます。
明確な線引きはありませんが、多くの場合、低級言語とは機械語とアセンブリ言語のことを指しており、それ以外のプログラミング言語を高級言語に分類します。
ソースコードを機械語に翻訳(コンパイル)してから実行するコンパイラ型の方式と、ソースファイルの内容を読み取りながら、適宜、機械語へ変換して実行するインタプリタ型の方式があります。主として前者を使うプログラミング言語はコンパイラ型言語、主として後者を使うプログラミング言語はインタプリタ型言語と呼ばれることがあります。「主として」とあるように、いずれの方式にも対応できる言語も多く、そういう意味では、この分類方法にはあまり意味がないともいえます。
仕事の手順どおりに処理を書き並べていく手続き型プログラミング言語、データと処理を1つのまとまりとして捉えるオブジェクト指向プログラミング言語、関数の組み合わせによって表現する関数型プログラミング言語といったものがあります。また、これらを複合的に組み合わせたプログラミング言語もあります。
手続き型プログラミング言語にはC言語や COBOL などが、オブジェクト指向プログラミング言語には Java や C# などが、関数型プログラミング言語には Haskell や OCaml などがあります。
C++ はさまざまなタイプの手法が使える複合的なプログラミング言語(マルチパラダイムプログラミング言語)です。
文字を使って記述するテキスト型のプログラミング言語が主流ですが、絵や図形のような表現を使ってプログラミングを行うビジュアルプログラミング言語もあります。
日本では、プログラミング教育必修化の影響などで、Scratch というビジュアルプログラミング言語が注目されるようになりましたが、ビジュアルプログラミング言語自体はかなり昔から存在しています。たとえば、LOGO という言語は 1967年に登場しています。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |