0

重複の可能性:
ある言語がスクリプト言語と見なされるのはいつですか?

プログラミング言語とスクリプト言語の違いは何ですか? 私はしばらくの間 C/C++ に取り組んでいましたが、今では Python に目を向け始めました。この記事では、Python は優れたスクリプト言語であると言われました。

しかし、学習しているうちに、これまで C で実行できたことはすべて Python でも実行できることがわかりました。では、スクリプト言語とプログラミング言語の実際の本当の違いは何ですか?

4

1 に答える 1

4

私は実際、その質問は少し誤解を招くと思います。もちろん、スクリプト言語もプログラミング言語です。ただし、違いがあります。

コンパイルされた言語と解釈された言語の間。

伝統的に、c のような言語は、CPU が直接理解できる機械語にコンパイルされます。一方、「スクリプト言語」は通常、実行前にマシンコードにコンパイルされるのではなく、インタープリターを使用して解釈されます。通常、インタープリター型言語の利点は、コンパイルが不要で、プラットフォーム間を簡単に移動できるため、開発サイクルが速いことです。たとえば、python スクリプトは、Windows、Linux、Mac で変更なしで実行できます。一方、コンパイル済み言語の利点は、通常ははるかに高速に実行されることです。

私が「通常」と「伝統的に」を頻繁に使用したのは、現在では線引きがはるかに難しくなっているテクノロジーがあるためです。たとえば、Python コードを直接ネイティブ コードにコンパイルすることが可能であり、C コード用のインタープリターもあります。また、「ジャスト イン タイム」コンパイラと仮想マシンにより、ここで白黒で描画することが難しくなります。

詳細: http://en.wikipedia.org/wiki/Interpreted_language

ダック型言語と強い型付き言語

通常、スクリプト言語はダック型です。つまり、変数には任意の型を割り当てることができ、型のチェックはオプションでしかないか、まったくありません。一方、C や C++ などのコンパイル済み言語では、すべての変数が型指定され、その型の値のみを保持できます。ダック型言語の利点は、通常、必要な物理的な型付けとコードが少なくて済み (たとえば、型名を関数宣言に残すことができるなど)、再利用可能な関数を簡単に作成できることです。通常、強い型付けされた言語の利点は、プログラマーがアプリケーションを実行する前にバグを見つけるのに「役立つ」ことです。たとえば、コンパイラは、エラーが発生している具体的な行を実行する必要なく、型エラーについて文句を言うでしょう。特に多くの貢献者がいる大規模なプロジェクトでは、これは驚くべき利点になります。

詳細: http://en.wikipedia.org/wiki/Duck_typing

于 2011-09-29T21:09:54.433 に答える