スポンサーリンク

【応用情報技術者試験】コンパイル方式とインタプリタ方式の違いをわかりやすく解説

「コンパイル方式とインタプリタ方式って、どちらもプログラムを実行する方法だよね?」

応用情報技術者試験でもソフトウェア分野で頻出ですが、

  • コンパイルって何?
  • インタプリタとの違いは?
  • どちらが速い?
  • JavaやPythonはどっち?

で混乱する人がかなり多いテーマです。

この記事では、

  • コンパイル方式とは?
  • インタプリタ方式とは?
  • 違い
  • メリット・デメリット
  • 試験での頻出ポイント

を分かりやすく解説します!


まず結論

コンパイル方式

「実行前にまとめて機械語へ変換する」


インタプリタ方式

「実行しながら1行ずつ変換する」


超簡単にいうと

方式変換タイミング
コンパイル方式実行前
インタプリタ方式実行中

そもそも機械語とは?

コンピュータは

機械語

しか理解できない。


そのため

人間が書くプログラム
↓
機械語

への変換が必要になる。


コンパイル方式とは?

超頻出!


仕組み

ソースコード全体を

一括で機械語へ変換する。


イメージ

ソースコード
 ↓
コンパイラ
 ↓
実行ファイル
 ↓
実行

特徴

重要!


実行前に変換が完了する。


メリット


実行速度が速い


変換済みだから。


エラーを事前に発見できる


デメリット


修正のたびに再コンパイル

が必要。


代表例

超頻出!


  • C言語
  • C++
  • Go

インタプリタ方式とは?

超頻出!


仕組み

プログラムを

1行ずつ変換しながら実行する。


イメージ

ソースコード
 ↓
インタプリタ
 ↓
1行変換
 ↓
実行

特徴

重要!


実行と変換を同時に行う。


メリット


すぐ実行できる


開発しやすい


デメリット


実行速度が遅い


毎回変換するため。


代表例

超頻出!


  • Python
  • JavaScript
  • Ruby

コンパイル方式とインタプリタ方式の違い

超頻出!

比較コンパイル方式インタプリタ方式
変換一括変換逐次変換
実行速度速い遅い
開発効率やや低い高い
エラー発見実行前実行時
代表言語C言語Python

イメージで理解


コンパイル方式

料理を全部作る
↓
まとめて提供

インタプリタ方式

注文ごとに作る
↓
その場で提供

Javaはどっち?

応用情報で頻出!


実は

両方の特徴を持つ


流れ

Javaソース
 ↓
バイトコード
 ↓
JVM
 ↓
実行

そのため

完全なコンパイル方式でも

完全なインタプリタ方式でもない。


試験での覚え方

超重要!


Compile

先に全部変換


Interpreter

実行しながら変換


よくあるひっかけ

「インタプリタ方式は事前変換する」

→ ❌違う!

インタプリタ方式は

実行時に変換

する。


応用情報で超頻出

かなり狙われる👇

  • コンパイラ
  • インタプリタ
  • 機械語
  • Java
  • JVM
  • バイトコード

1分で復習!

コンパイル方式

実行前に変換


インタプリタ方式

実行時に変換


コンパイル方式

高速


インタプリタ方式

開発しやすい


超重要

Compile=まとめて変換

Interpreter=逐次変換


練習問題

問題

インタプリタ方式の特徴として最も適切なものはどれか。

実行前に全体を機械語へ変換する

プログラムを1行ずつ変換しながら実行する

必ず実行ファイルを生成する

コンパイラを利用しないと実行できない


解答

正解:イ

解説

インタプリタ方式は、プログラムを逐次解釈(Interpret)しながら実行する方式です。


まとめ

コンパイル方式とは

「実行前にまとめて変換する」


インタプリタ方式とは

「実行しながら変換する」


超重要

  • コンパイル=高速
  • インタプリタ=開発しやすい
  • C言語=コンパイル方式
  • Python=インタプリタ方式
  • Java=中間的な方式

まずは、

「コンパイル=料理を全部作ってから出す」

「インタプリタ=注文ごとに作る」

このイメージを持つとかなり理解しやすくなります!


知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

まずは無料でキャリア相談

コメント