ブラックボックスを撲滅したい

2017年1月よりフリーランスに転向したシステムエンジニアのブログ。プログラミングスクールではRubyの勉強をしていたが、現在はJavaによる開発がメイン。当ブログは筆者の学習メモを投稿していく予定。

【IT総合】コンパイラ方式・インタプリンタ方式とは?

以下、プログラムの実行方式であるコンパイラ方式インタプリンタ方式について解説します。

コンパイラ方式とは?

プログラムに書かれた命令を機械語に変換してから処理を実行する方式のこと。

人間が書いたプログラム(ソースコード)を機械語に変換することをコンパイルといい、
コンパイルをするソフトウェアをコンパイラといいます。

コンパイラ方式のメリットは?

実行速度が速いこと。

あらかじめソースコード機械語に変換しておくことで、コンピュータが命令を読み込む速度があがるからです。

コンパイラ方式のデメリットは?

実行するまで手間がかかること。

コンパイルをする際にプログラムにエラーがあるかを判定します。
そのため、エラーが解消されるまでプログラムの動きを確かめられないため、プログラムを実行するまでに手間がかかります。

インタプリンタ方式とは?

プログラムに書かれた命令を1行ずつ機械語に変換しながら実行していく方式です。

インタプリンタ方式のメリットは?

・プログラムを書いたらすぐに実行でき、動作の確認ができること。

・異なるコンピュータの環境(WindowsMacなど)で互換性を保てる。

機械語のコードは基本的にコンピュータの環境が違うと動かせません。
インタプリンタ方式は、コンピュータの環境に合うように1行ごとに機械語に解釈していきます。
そのため、プログラムを変更せず、異なるOSでも動かすことができます。

インタプリンタ方式のデメリットは?

コンパイラ方式と比べて実行速度が遅い

1行1行ソースコード機械語に変換しながら実行するので、コンパイラ方式と比べて実行速度が遅くなります。

まとめ

コンパイラ方式は実行前ソースコード機械語に変換する。手間はかかるが、プログラムの実行速度が速い。
・インタプリンタ方式は実行時に逐次ソースコード機械語に変換する。手軽に動作確認ができるが、プログラムの実行速度は遅い。

参照
オブジェクト指向でなぜつくるのか 第2版