プログラミングの用語一覧へ
このページの目次

インタプリタとは?

読み方:インタプリタ

最終更新:2026/08/18

3秒でわかる

ソースコードを実行時に少しずつ解釈しながら動かす方式のこと。事前のビルドが不要で、書いてすぐ試せる代わりに実行は遅くなります。

もう少し詳しく

どういうものか

インタプリタは、ソースコードを機械語の実行ファイルに変換せず、実行しながら1文ずつ解釈して処理系自身が動かす方式です。Python、Ruby、PHP、シェルスクリプトがこの系統にあたります。

実際には、多くの処理系がソースをいったん中間表現 (バイトコード) に直してから実行しています。Python が __pycache__.pyc を作るのはこのためで、純粋に1文字ずつ読んでいるわけではありません。

なぜ必要か

書いて即実行できることは、学習と試行錯誤の速度に直結します。コンパイルの待ち時間がなく、対話環境で1行ずつ結果を確かめられるため、データ分析のように「試しながら考える」作業と相性がよいです。同じソースを Windows でも Mac でも Linux でも、その環境の処理系さえあれば動かせるという移植性もあります。

具体例

コンパイルする C と、しない Python を並べると違いがはっきりします。

# コンパイル方式 — 先に機械語の実行ファイルを作る gcc hello.c -o hello ./hello # インタプリタ方式 — ソースをそのまま渡す python3 hello.py

インタプリタ方式は、途中まで正しく動いてから誤りで止まることがあります。

print("開始") print(1 / 0) # ここで初めてエラー。上の行は実行済み print("ここは実行されない")

コンパイル方式なら、この種の誤りの多くは実行前に検出されます。

つまずきやすいところ

「インタプリタ言語」と「コンパイラ言語」を、言語の性質として固定的に覚えてしまうと説明がつかない例に出会います。C を対話的に動かす処理系もあれば、Python を機械語に落とす仕組みもあり、これは言語ではなく処理系の方式の話です。

Java の位置づけも混乱しやすい点です。Java はソースをバイトコードにコンパイルし、それを JVM が解釈して実行します。さらに JVM は、よく通る部分を実行中に機械語へ変換する JIT を備えています。コンパイルとインタプリタの両方を使う構成です。

配布の形も違います。コンパイル方式は実行ファイルだけ渡せば動きますが、インタプリタ方式は相手の環境に処理系とライブラリが必要です。手元では動いたのにサーバーで動かない、という相談の多くは、この前提の差から生じます。

似た用語との違い

方式変換の時期速度誤りの検出
コンパイラ実行前にまとめて速い実行前に多くを検出
インタプリタ実行しながら遅いその行に到達して初めて
JIT実行中に必要な部分だけ温まると速い実行時が中心

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地インタプリタプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

このコースが入っている学習分野

この用語を扱うコース

コース

Java入門:基礎文法編

69レッスン
コース

コンピューターサイエンス入門:理論編

53レッスン
コース

Python入門:基礎文法編

74レッスン
Javaコースの全編を見る