プログラムを実行するには、私たちが書いた言語(原始プログラム=ソースコード)を、コンピュータが理解できる機械語(0と1の世界)に変換する必要があります。
このとき使われるのが「翻訳者」としての インタプリタ や コンパイラ。
インタプリタとは?
インタプリタ(Interpreter)は、原始プログラム(人間が書いたソースコード)を1行ずつ解釈しながら即時に実行する言語処理プログラムのこと。(即時、と言っている割に実行速度は遅い…)
📌 特徴
- プログラムを翻訳しながらその場で実行する
- 実行速度は遅い
- エラー箇所を逐一修正しながら動作確認できるというメリットがある
💡 似ているけど違う?インタプリタとコンパイラの違い
比較項目 | インタプリタ | コンパイラ |
---|---|---|
処理方法 | 1行ずつ読み取り、即座に実行 | 全体を一括翻訳してから実行 |
実行速度 | 遅い | 速い(翻訳済みの目的プログラムを実行するため) |
エラーの扱い | エラーが出た行で止まり、修正しやすい | すべて翻訳後にまとめてエラーを表示 |
代表的な言語 | Python, JavaScript | C, C++, Java(コンパイル+実行形式) |
🧩 補足キーワード(試験対策)
🗂 原始プログラム
- 私たちが書いたソースコード
- 翻訳する前の状態のプログラム
🛠 コンパイラ
- 原始プログラムを一括で機械語に翻訳して、目的プログラムを作成する
- 目的プログラムはCPUが直接実行可能
🧪 型推論
- コンパイラが変数や関数の型を自動的に推測する機能
- 原始プログラム内で明示しなくても良い
📦 ローダ
- 作成された目的プログラムを主記憶装置にロード(読み込み)するためのプログラム
🔍 試験に出やすいポイント整理
- インタプリタは「実行しながら翻訳」
- コンパイラは「翻訳してから実行」
- ローダは目的プログラムを主記憶に移す役割
- 型推論はコンパイラが行う処理で、原始プログラムを読み解く補助機能
🧠 今日のひとこと(感想)
インタプリタは“翻訳しながら実演する先生”みたい。とにかく、まず動かしてみたいときにはインタプリタ言語が向いてる。逆に本番環境で効率よく動かしたいなら、コンパイラ方式が強い!
コメント