質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
コンパイラ

コンパイラは、プログラミング言語で記述したソースコードを、コンピュータの実行形式であるオブジェクトコードに変換するプログラムです。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

解決済

コンパイル言語とスクリプト言語の違い

退会済みユーザー

退会済みユーザー

総合スコア0

コンパイラ

コンパイラは、プログラミング言語で記述したソースコードを、コンピュータの実行形式であるオブジェクトコードに変換するプログラムです。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

6回答

4評価

0クリップ

44510閲覧

投稿2016/10/14 06:13

参考:
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つだけでもいいので教えていただきたいです。
よろしくお願いします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

コンパイラ

コンパイラは、プログラミング言語で記述したソースコードを、コンピュータの実行形式であるオブジェクトコードに変換するプログラムです。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます