インタプリタ型言語
プログラミング言語だよ
作ったプログラムは、人間語から機械語へ翻訳されながら動くよ
簡単に書くよ
インタプリタ型言語(読:インタプリタガタゲンゴ 英:interpreted language)とは
プログラミング言語(プログラムの元ネタ(ソースコード)を書くときに使う言葉)の分類のひとつ
であり
作ったプログラムを動かすときには「1行目を翻訳して、実行」「2行目を翻訳して、実行」のように、プログラムの中身を人間様が分かる言葉(人間語)からコンピュータさんが分かる言葉(機械語)へ翻訳「しながら」動かすことになるプログラミング言語のこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として、プログラムの作り方と「インタプリタ」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
プログラムを作って動かすまでの一般的な流れは
1.人間語でプログラムの元ネタを書く
2.元ネタを人間語から機械語に翻訳する
3.翻訳された指示に従ってコンピュータさんがお仕事する
です。
コンピュータさんは人間語が分かりません。
人間様はコンピュータさんの言葉が分かりません。
プログラムは人間様が作る物です。
そこで、最初は人間様が分かる言葉でプログラムを作ります。
コンピュータさんに対する「あれをやれ」「これもやって」な命令を人間語で書くのです。
次に人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳します。
実際に仕事をするのはコンピュータさんです。
コンピュータさんが命令の内容を理解できるようにする必要があります。
コンピュータさんが分かる言葉に翻訳したので、コンピュータさんは命令の内容を理解できます。
指示に従って、お仕事をしてくれるでしょう。
かなり簡略化した説明ですけどね。
これがプログラムを作るときの流れです。
インタプリタは「ちょっと翻訳して、ちょっと実行」方式です。
例えば、人間様の書いたプログラムが
1.ご飯を食べろ
2.歯を磨け
3.早く寝ろ
だとしましょう。
それに対応するコンピュータさんの言葉が
1.ゴハンタベーロ
2.ハヲミガケー
3.ハヤクネロー
だったとします。
このとき
1.ご飯を食べろ
↓(翻訳)
1.ゴハンタベーロ
↓
1.コンピュータさん、ご飯を食べる
2.歯を磨け
↓(翻訳)
2.ハヲミガケー
↓
2.コンピュータさん、歯を磨く
3.早く寝ろ
↓(翻訳)
3.ハヤクネロー
↓
3.コンピュータさん、早く寝る
のように少しずつ翻訳→実行していく方式がインタプリタです。
インタプリタのイメージは
通訳
です。
通訳さんは、片方が言ったことを、できるだけすぐに翻訳して相手に伝えます。
そうしないと会話が成立しませんからね。
インタプリタも同じです。
人間語を機械語に同時通訳するイメージです……多分。
以上を踏まえて
インタプリタなやり方でプログラムの元ネタを翻訳・実行するように作られているプログラミング言語
が「インタプリタ型言語」です。
インタプリタ型言語で作ったプログラムは「ちょっと翻訳してちょっと実行、ちょっと翻訳してちょっと実行」で動きます。
「インタプリタ型言語」という表現は「コンパイラ型言語」と対比されるときに、よく登場します。
コンパイラ型言語は「最初に全部まとめて人間語から機械語へ翻訳してから実行する方式のプログラミング言語」です。
コンパイラ型言語で作ったプログラムは最初に全部翻訳してから動かすことになります。
例えば、人間様の書いたプログラムが
1.ご飯を食べろ
2.歯を磨け
3.早く寝ろ
だとしましょう。
それに対応するコンピュータさんの言葉が
1.ゴハンタベーロ
2.ハヲミガケー
3.ハヤクネロー
だったとします。
コンパイラ型言語で作ったプログラムは
1.ご飯を食べろ
2.歯を磨け
3.早く寝ろ
↓(翻訳)
1.ゴハンタベーロ
2.ハヲミガケー
3.ハヤクネロー
↓
1.コンピュータさん、ご飯を食べる
2.コンピュータさん、歯を磨く
3.コンピュータさん、早く寝る
のように最初に全部まとめて翻訳してから実行されます。
気が向いたら、併せて覚えてあげてください。
インタプリタ型言語:ちょっと翻訳して、ちょっと実行(を繰り返す)
コンパイラ型言語:全部まとめて翻訳してから実行
になるプログラミング言語です。
一言でまとめるよ
まぁ「インタプリタ型言語」って単語が出てきたら「『ちょっと翻訳して、ちょっと実行』を繰り返すぜ!になるプログラミング言語(プログラムの元ネタ(ソースコード)を書くときに使う言葉)なんだな~」と、お考えください。
おまけ
■訳してみるよ
「interpreter(インタプリタ)」の意味は「通訳者」とか「解釈者」とかです。
「型言語」は日本語ですね。
何となくくっつけると
通訳者型の(プログラミング)言語
となります。
■検索してみる?