1. ホーム
  2. scripting

[解決済み】スクリプト言語 vs プログラミング言語【終了しました

2022-03-25 11:22:26

質問

スクリプト言語とプログラミング言語の違いについて教えてください。

また、それぞれについていくつかの例を挙げてください。私はたくさんググりましたが、いつもStack Overflowから最高の答えを見つけます。

どのように解決するのですか?

スクリプト言語は、明示的なコンパイルのステップを必要としないプログラミング言語です。

例えば、C言語のプログラムは、通常であれば、コンパイルしてから実行します。しかし、通常の場合、JavaScriptのプログラムを実行する前にコンパイルする必要はない。だから、JavaScriptはスクリプト言語と呼ばれることもあるんだ。

最近のハードウェアや最新のコンパイル技術では、コンパイルが非常に高速に行えるため、この境界線はますます曖昧になってきています。例えば、Google Chrome の JavaScript エンジンであり、ブラウザ以外でも多く使われている V8 は、実際には JavaScript コードを解釈するのではなく、機械語にその場でコンパイルします。(実際、V8は最適化二相コンパイラです)。

また、ある言語がスクリプト言語であるかどうかは、言語というよりも環境によるところが大きいことに注意してください。C言語のインタプリタを書いて、それをスクリプト言語として使えない理由はありません(実際、そうしている人もいます)。また、JavaScriptをマシンコードにコンパイルして実行ファイルに保存できない理由もありません(実際、そうしている人もいます)。Rubyという言語がこの良い例です。オリジナルの実装は完全にインタプリタ(スクリプト言語)でしたが、現在では複数のコンパイラがあります。

スクリプト言語の例として、以下のようなものがあります。 伝統的 を明示的にコンパイルすることなく使用します)。

  • ルア
  • ジャバスクリプト
  • VBScriptとVBA
  • パール

そして、少しばかりのもの 伝統的な 明示的なコンパイルステップで使用されます。

  • C
  • C++
  • D
  • ジャワ (ただし、Javaはバイトコードにコンパイルされ、実行時に解釈および/または再コンパイルされることに注意)
  • パスカル

...そして、Pythonのように、両方の陣営に属するものがあります。Pythonはコンパイルなしで広く使われていますが、主な実装(CPython)はオンザフライでバイトコードにコンパイルして、そのバイトコードをVMで実行することでそれを実現しています。 できる そのバイトコードをファイルに書き出す ( .pyc , .pyo ) を再コンパイルせずに使用することができます。

それは、単に 非常に 調べればもっとたくさん出てくるはずです。