問題
問60
あるプログラミング言語で記述されたソースコードを、コンピュータが直接実行できる機械語に一括して変換するソフトウェアはどれか。
- インタプリタ
- アセンブラ
- リンカ
- コンパイラ
正解
正解は「エ」です。
解説
正解は「エ」のコンパイラです。コンパイラは、人間が理解しやすいプログラミング言語(C言語やJavaなど)で書かれたソースコードを、コンピュータが直接理解できる機械語(0と1の羅列)で構成されるオブジェクトコードに「一括して」翻訳するソフトウェアです。この翻訳作業をコンパイルと呼びます。コンパイルによって生成された実行可能ファイルは、ソースコードがなくても単独で実行でき、一般的に高速に動作します。
例えば、英語で書かれた小説を、日本語にすべて翻訳し終えてから(コンパイル)、一冊の本(実行可能ファイル)として出版するようなイメージです。読者はその本を読むだけでよく、元の英文は必要ありません。問題文の「ソースコードを」「機械語に一括して変換する」という説明は、コンパイラの最も重要な特徴を表しています。
ア(インタプリタ):
ソースコードを1行ずつ解釈しながら実行していくソフトウェアです。一括変換は行いません。同時通訳のように、逐次翻訳して実行します。
イ(アセンブラ):
アセンブリ言語という、機械語に一対一で対応する低水準言語を、機械語に変換するソフトウェアです。
ウ(リンカ):
コンパイルによって生成された複数のオブジェクトコードや、ライブラリなどを結合し、一つの実行可能ファイルを作成するソフトウェアです。
解法のポイント
言語プロセッサに関する問題では、「コンパイラ」と「インタプリタ」の違いを理解することが最も重要です。 ・コンパイラ:一括翻訳。事前にすべて翻訳し、実行ファイルを作成する。実行は高速。 ・インタプリタ:逐次翻訳。1行ずつ翻訳しながら実行する。開発・修正が容易。 この「一括」か「逐次」かという翻訳方式の違いを明確に押さえておきましょう。アセンブラやリンカは、コンパイルの一連の流れの中で使われるソフトウェアとして関連付けて覚えると理解が深まります。
用語補足
コンパイラ:
ソースコードをまとめて機械語に翻訳するプログラムです。外国語の書籍をすべて日本語に翻訳し、一冊の翻訳本を作る作業に似ています。
ソースコード:
プログラミング言語を使って人間が記述した、コンピュータへの命令が書かれたテキストファイルです。
機械語:
CPUが直接理解し、実行できる唯一の言語です。0と1のビット列で構成されています。
インタプリタ:
ソースコードを1行ずつ翻訳しながら実行するプログラムです。海外の人のスピーチを、一文ずつ日本語に通訳する同時通訳者に似ています。


