【何のこと?】
私たちは、プログラムを何らかのプログラミング言語を使って書きます。
このプログラミング言語は、普通の人には暗号みたいなもので何のことか
さっぱり理解出来ませんが、少なくとも、プログラムをやろうとしている人達
は、読むことができます。つまり少しは人間が理解できる言葉になっていま
す。しかし、コンピュータの世界は2進数の世界で、我々が書くプログラムは
直接理解することが出来ません。そこで、これをコンピュータ自身が理解で
きる言葉に変換してやらなければなりません。
この変換作業のことを、「アセンブルする」とか「コンパイルする」とか言い
ます。
【どんな変換方法がある?】
では、この言語を変換する方法にはどんな種類があるのでしょう。
この方法には、言語の種類によってそれぞれ決まっています。私が知っている
方法には、アセンブル、コンパイル、インタプリットがありますが、違いは
下表のようになるかと思います。
No |
言語種類 |
変換方法 |
備 考 |
1 | アセンブラ | アセンブル | 初期のコンピュータは大部分がこの方法を取っていたが言語が高級化するとともに減って来ている。しかし、現在でも、直接ハードウェアを制御するマイクロコンピュータの世界では、多用されている。 |
2 | C、C++ FORTRAN BASIC DELPHI PASCAL Java |
コンパイル | 最近の高級言語(より人間に解り易い言語という意味)は、ほとんどこの方式を取っています。コンパイルを実行するプログラムのことを「コンパイラ」と呼び、言語毎にそれぞれ用のものが用意されている。 |
3 | BASIC Java Visual Basic |
インタプリット | コンピュータのプログラムとして、言語翻訳の機能を内蔵させて、プログラム言語を直接コンピュータが実行しているようにするもので、この翻訳プログラムのことを「インタプリタ」と呼びます。 |
【特徴と違い】
上記3種類の方法は、それぞれに歴史的な違いもありますが、性能
やメモリ使用量などにも違いがあります。
No |
種類 |
性能 |
メモリ使用量 |
使い方 |
1 | アセンブラ | 上手に作ればコンピュータの性能をフルに発揮することが出来る。 | メモリは最小の使用量で済む | 主にマイクロコンピュータを使用した小規模システムで使われている。 |
2 | コンパイラ | コンパイラによっては実行効率の悪いものもあるが、最近はコンピュータ自身が高性能化しこの非効率性が目立たなくなってきた。 | 一般的にアセンブラよりは使用量が多くなる。プログラムの使用目的によっては非常に使用効率の悪いものもあるので注意。 | プログラミング開発効率は高いので、大きなシステムで使われる。 |
3 | インタプリタ | 毎回言語を解釈しながら実行するので遅い。しかし、最近のコンピュータの高性能化により実用上は不都合が無い使い方も出来る。 | 一般に必要メモリは一番多い。特に大きなプログラムを実行させるときには非常に大きなメモリを必要とすることがあり要注意。 | 個人用や、一寸したオフィス用に開発する時には簡単で便利。 |