参考:
1:プログラミング言語がたくさんある理由
2:【みんな知ってる?】スクリプト言語とコンパイル言語の違いとは?
#二つ言葉の認識
機械語への翻訳(コンパイル)の仕方には大きく分けて2種類があり、
1つは「コンパイラ言語」。
もう1つは「スクリプト言語」。
【コンパイル言語】
高速で動作する代わりに記述が面倒。
ソースコードを事前にコンパイルして、先に機械語に変換しておく。
例:C、C++、Java、C#などはコンパイラ言語です
【スクリプト言語】
低速で動作する代わりに短い記述で処理を実現。
ソースコードを逐次機械語に翻訳しながら実行する。
例:Python、Perl、PHP、Ruby、JavaScript
#質問1
コンパイル言語は「事前(一気)にコンパイル」し、
スクリプト言語は「逐次(1行ずつ)コンパイル」しながら実行する、ということですが
この二つの言語は「どのタイミングで」コンパイルを開始するのですか?
コンパイル言語の「事前に」とはいつ、どのタイミングのことですか?
コンパイル言語・スクリプト言語ともに「書き換えたソースコードを保存したタイミング」でしょうか?
#質問2
この二つの言語の違いは
コンパイルのタイミング(方法?)とそれによる実行速度の違いですが、
コンパイルによる速度の違いというのは
ソースコードを書き換えて保存
→ソースコードすべてをコンパイルしてから実行(コンパイル言語)
→ソースコードを一行ずつコンパイル、実行(スクリプト言語)
こういうことでしょうか?
もしそうだとしたらスクリプト言語の方が速そうだと思うのですが、
記事には「コンパイル言語の方が速い」ということなので、混乱しています。
#質問3
上の参考2の記事の中で
コンパイル言語は先ほども説明した通り、コンパイラが必要になってきますが、 スクリプト言語だと、FlashPlayerなどの翻訳機能を兼ね備えているプレーヤーをインストールすれば 翻訳から実行まで可能になります。 コンパイル言語は翻訳がすでにされているので、 プレーヤーをインストールする必要はありませんが、 単体で動かすことになるので、PCにインストールする必要があります。
と書いてあるのですが、
スクリプト言語のコンパイラがFlashPlayerなどのプレーヤーということですか?
スクリプト言語はプレーヤーとセットになって初めて翻訳・実行が可能になるのだとしたら
コンパイル言語もコンパイラをインストールしないといけないのでは、と思ったのですが、どうでしょうか。
「すでに翻訳がされているからコンパイラをインストールする必要はなく、
(すでに翻訳された状態の)コンパイル言語だけPCにインストールすれば良い」
↑これは例えば、PCゲームをコンパイラ言語で作って、
機械語の状態(コンパイラ済み)でサイトなどに公開しているから
コンパイラは必要ない、とかそういうことでしょうか?
3つ質問しましたが、1つだけでもいいので教えていただきたいです。
よろしくお願いします。
回答6件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/10/17 14:22