プログラミング言語
プログラミング言語とは
プログラミング言語(英:programming language)とは、コンピュータに指示を伝えるための言語です。
コンピュータが理解できる言語は機械語です。そのため、人間が理解できる「日本語」や「英語」でコンピュータに指示を伝えてもコンピュータは理解できません。
そこで「コンピュータが理解できる機械語に変換しやすい」かつ「人間にも理解できる」形式で作られたのがプログラミング言語です。
プログラミング言語でプログラムを開発することをプログラミング(英:programming)、プログラミング言語で記述したプログラムのことをソースコード(英:source code)といいます。
プログラミング言語の種類
プログラミング言語には、人間が理解しやすいように作られた高水準言語(高級言語)と、コンピュータが理解しやすいように作られた低水準言語(低級言語)があります。
低水準言語には機械語 もしくは 機械語に近い「アセンブリ言語」があり、高水準言語には主に次のような言語があります。
高水準言語 | 説明 |
FORTRAN | 科学技術計算に向いた手続き型プログラミング言語であり、世界初の高水準言語。 |
COBOL | 銀行の汎用コンピュータなどで古くから利用されている言語、主に事務処理を目的として開発された言語。 |
BASIC(Visual Basic) | 初心者向けとして古くから使われている言語、マイクロソフト社が開発した「Visual Basic」はBASICを元に作られた言語。 |
C言語 | 汎用性が高く処理速度が速いのが特徴。高水準言語だが、メモリ管理などハードウェアに近いレベルの記述ができる。もともとはUNIXというOSの移植性を高める目的で作られた言語。 |
C++ | C言語を機能拡張(C言語にオブジェクト指向の概念を取り入れた)したプログラミング言語。 |
Python | 少ないコードで簡潔にプログラムを書けるのが特徴。AI(人工知能)のプログラムなどで利用されている。 |
Ruby | 日本人の「まつもとゆきひろ氏」により開発されたオブジェクト指向スクリプト言語。 |
PHP | 動的にWebページを生成できるサーバサイドのスクリプト言語。 |
JavaScript | 動的にWebページを生成できるクライアントサイドのスクリプト言語。 |
Java | インターネットのWebサイトや、ネットワークを利用したシステムなどで使われることが多い言語。オブジェクト指向でプラットフォームに依存しないのが特徴。 |
C# | マイクロソフト社が開発した言語のため、Windows向けのアプリケーションの開発に向いている。オブジェクト指向の言語であり、文法はJavaと似ているのが特徴。 |
Objective-C | macOSのアプリ開発やiOS向けのアプリ開発(iPhoneやiPad向けのアプリ開発)を得意としている言語。 |
Swift | Objective-Cの後継言語として、2014年にAppleが発表した言語。iOS向けのアプリ開発(iPhoneやiPad向けのアプリ開発)を得意としている。 |
Go | Googleが開発・公開しているプログラミング言語。他の言語と比べると言語仕様がシンプルなのが特徴。 |
TypeScript | マイクロソフト社が2012年に開発したプログラミング言語で、JavaScriptのスーパーセット。※スーパーセットとは「上位互換」のことで、JavaScriptが持つ機能を維持しつつ、TypeScriptとしての新しい機能を追加した言語。 |
機械語へ変換するソフトウェア(言語プロセッサ)
機械語へ変換する時に使うソフトウェアには(言語プロセッサ)には、コンパイラ(英:compiler)やインタプリタ(英:interpreter)、アセンブラ(英:assembler)があります。
コンパイラはC言語やC#のような高水準言語で書かれたソースコードを、コンピュータが理解できる機械語に変換するソフトウェアです。
プログラミング言語をコンパイルで機械語に変換してから実行します。
インタプリタは、JavaScriptやPHPなどのスクリプト言語で書かれたソースコードを、コンピュータが1行ずつ解釈しながら実行していくソフトウェアです。
※注意:スクリプト言語のほとんどがインタプリタ方式を採用していますが、必ずしもスクリプト言語がインタプリタ方式であるとは限りません。
機械語に変換してから実行するコンパイラとは違い、解釈しながら実行していくのが インタプリタの特徴です。
アセンブラは、低水準言語に分類される「アセンブリ言語」で書かれたソースコードをコンピュータが理解できる機械語に変換するソフトウェアです。