SSブログ

コンパイル言語とスクリプト言語 [プログラミング]

こんにちは、rollです。
プログラミング言語には様々な種類があります。
「Java」や「C言語」「C#」「JavaScript」「Ruby」など世の中にはたくさんの言語があります。
でも、その多くはコンパイル言語とスクリプト言語の2種類に大別できます。

じゃあ、コンパイル言語ってどんな言語?

その名のとおり実行前にコンパイルを必要とする言語のことです。
コンパイラを使って機械語に変換するんでしたね。
関連する記事 : コンパイルやビルドという作業

じゃあ、スクリプト言語ってどんな言語?

スクリプト言語はコンパイル言語のように事前にコンパイルを行う必要がありません。
「それならどうやって実行可能ファイルを作るの?」
…それは、プログラムを実行するたびに必要な分だけコンパイルを行っているのです。
イメージしてみてください。
あなたは日本人です。仮に英語を話すことができないとします。
そんなあなたが、アメリカ人と英語で話さなければいけない状況になりました。
どうすれば良いのでしょうか?
…通訳を呼べばいいのではないか?
そんな発想が「スクリプト言語」です。
自分が伝えたいことを通訳を通して相手に伝える。
これで自分の意思を伝えることはできますね。
でも、通訳を通すぶん会話のスピードはスムーズにいかないですよね?
しかも同じ事を伝えたくても、また通訳を通さないと相手に伝わりません。
これと同じ性質を持っています。
この例えでいくとコンパイル言語は
「自分が伝えたいことを事前に翻訳して書類にまとめておく」ってところでしょうか。
事前に準備をしなければいけないので
変更が加わればその都度翻訳をしないといけないですが
一度翻訳が終われば同じ内容を話すなら
まとめた書類を読めばいいだけです。
会話のスピードはこちらの方が早いのは想像に難くないと思います。

ちなみに
「相手」 = PC
「自分が伝えたいこと」 = ソースプログラム
「会話のスピード」 = 実行速度
「翻訳」 = コンパイル(機械語に変換)
…にそれぞれ置き換えるとこの例え話も納得してもらえるのではないでしょうか?

まとめ

コン.パイル言語とスクリプト言語を比較したときに…
1.コンパイル言語のほうがスクリプト言語より実行速度が速い。
2.スクリプト言語はソースプログラムにエラーがあっても途中までは実行できるが
   コンパイル言語はそもそもコンパイルができないので実行ができない。

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。