2017-01-25 5 views
1

数年前からJavascriptで作業していましたが、最近私はかなり多くのLuaを使用しています。弱いタイピングを使用してスクリプト言語を使用するのはなぜですか?

これらの言語を使用している唯一のビッグビーフは弱いタイピングを使用しているということです。誰かが良い答えを持っているかどうかは疑問です。 なぜ

私が個人的にそれを見る方法は、これまでどんな利点もありません。私の同僚は、強力な型付けは多くの型チェックを必要とするためかもしれないと示唆しました。そのため、パフォーマンスがかなり損なわれます。しかし、どのようにコンパイラが動作するか気にしない人として、私はこの説明を受け入れるのに苦労しています。

(これはばかな質問であれば申し訳ありませんが、私はsimilar discussion hereを見てきましたが、私は質問と答えの両方に反対。プロトタイプは強い型付けを使用する言語で行うのも簡単です。)

+1

JavaScriptについては、[10日後に書かれた](https://www.w3.org/community/webed/wiki/A_Short_History_of_JavaScript)という理由が考えられます。 –

+0

"弱いタイピング"が意味するものと "スクリプト言語"の意味を正確に定義しなければ、この質問に答えることはできません。これらの2つの用語のどちらも、合意した定義を持っていません。たとえば、私はRubyをスクリプト言語と見なしています。私は、スクリプト言語の個人的な定義と強力な型定義の個人的な定義に基づいて、強く型付けされていると考えます。 Rubyを*あなたの*定義に従ったスクリプト言語とみなしているかどうか、*あなたが*あなたの* –

+0

...という定義に従ってRubyを強く型付けすると考えるかどうかはわかりません。 –

答えて

-1

ダイナミック(ランタイム)タイプチェックは、を実行するとパフォーマンスが低下します。 C++、Java、C#などのコンパイルされた言語は、コンパイル時に型システムを強制することができます(つまり、コンパイルされない型システムに違反するコードを記述した場合、実行は大幅に減ります)。それ以外の場合に実行しなければならなかったランタイム型チェックの多く。スクリプティング言語にはこのような仕組みがないため、余分なチェックをする必要があります。

関連する問題