
Javaの特徴:「コンパイラ言語」
Javaは「コンパイラ言語」と「オブジェクト指向言語」
その2つの言語の特徴があるらしい。
うーん意味が分からん。
2つはウェイトが重いので、今回は「コンパイラ言語」について調べました。
コンパイラ言語って?
プログラムのソースコード(Javaで書くやつ)を
機械語(0と1で表現するやつ)に一括変換してから
実行するプログラミング言語のこと。
もっと簡単にコンパイラを教えて!
コンパイラは、プログラムのソースコードを別の形式(機械語:0と1の組み合わせ)に変換する特殊なソフトウェアです。
通常、プログラム(ここで言う、Javaのコード)は人間が理解できる形式で書かれますが、コンピュータはソースコードを直接実行することはできません。
➡コンピューターは機械語を理解するから
そこで、コンパイラが登場します。
➡人間が分かって機械が読めないJavaのコードを
機械が読めるよう、機械語に変換するために登場
コンパイラは、ソースコードを構成する命令や文を解析し、それらをコンピュータが理解できる形式に変換します。(=機械語への変換)
この変換された形式を「オブジェクトコード」(機械語)と呼びます。
オブジェクトコードは、バイナリ形式(0と1の組み合わせ)や、特定のプログラミング言語で書かれた中間表現などの形式になります。
コンパイラは、ソースコード(ここではJavaのコード)を一度解析し、エラーチェックや最適化などの処理を行います。
そして、変換されたオブジェクトコード(機械語)を生成します。
このオブジェクトコードは、コンピュータ上で実行可能な形式になります。
つまりコンパイラって!?
つまり、コンパイラはソースコードをプログラムとして実行できる形式に変換する役割を持ちます。
コンパイラを使うことで、プログラムの実行が高速化されたり、エラーを事前に検出したりできます。
①ソースコード(人間が作成したJavaのコード)
➡②コンパイラで機械語に変換
➡③オブジェクトコード(機械語)が生成