2

私は静的/強く型付けされた言語 (Java) のバックグラウンドを持っており、最近 Python を学び始めました。動的/強く型付けされた言語の価値を理解していると思います。

今、弱い型付けが望ましいものになるかどうか疑問に思っています。

stackoverflow を調べたところ、パフォーマンス上の利点があるという説明しか見つかりませんでした。今日のプログラミングの世界では、そのようなパフォーマンス上の利点の重要性が低下しているため、弱い型付けは実質的に死んでいますか? たとえば、将来、優れた言語設計者は自分の言語を弱型化することを検討するでしょうか?

もしそうなら、なぜですか?

4

5 に答える 5

4

弱い型付けは、主に低レベルのプログラミングで役立ちます。たとえば、ディスクから整数または文字列を読み取る関数は、一連のバイトを取得して、整数または文字列を作成する必要があります。強力な型付けでは、これを行うのははるかに困難です。

于 2010-07-27T15:25:31.693 に答える
3

弱い型付けは必要でしたし、今後も必要ありません。これまでのところ、セマンティクスに影響を与えることはありません。これは、変換関数を自動的に呼び出すことと同じです。例として、C: で int と float を比較しています1 == 1.0。これにより、問題なくコンパイルされます。これには「利便性」以外の理由はありません。たとえば、int_to_float からの関数があり、 を実行しているintToFloat(1) == 1.0場合、それは明らかに C に組み込まれ、このコードは int が float に変換される場合とまったく同じことを行います。弱い型付けは、安全性と利便性のトレードオフです。

(演算子×オペランド×オペランド)(float / int)、(float == int)、(string + int)、(int + string)、( string + boolean)、(int + long) など。

于 2011-10-08T22:25:38.610 に答える
1

これは炎ではなく、一般的な私の経験です。10 年以上コードを書いて維持してきた中で、型関連のバグに遭遇したのは 6 回未満です。しかし、バイトを移動する低レベルのコードを書くとき、私は型の考え方を強く嫌うようになりました。プログラミングの文化が読みやすさの理想を採用したとき、私はタイピングのアイデアはもはや必要ではないと長い間考えてきました.

もちろん、言語とコーディング スタイルによっては、型付けがコードの理解を助ける場合もあれば、妨げる場合もあるので、型付き言語はあまり気にしません。

したがって、私のように、型に何の利点も見出せない人がいる限り、型のない言語や弱く型付けされるように設計された言語は常に存在します。

バグの実績と使用されている言語 (私の経験とオープン ソース コードで見たもの) を考慮すると、強い型付けまたは弱い型付けはコードの品質に大きな影響を与えません。私の経験で実際に読んだコードを考えると、コードの可読性にはあまり影響しないと言えます。私にとっては、それは単なる好みの問題です (強いタイプの人々が同意しないことは知っていますが、彼らは事実との意見の相違を裏付けることができず、意見を異にするように直感的に伝えているだけです)。OK、その最後の文はほとんど燃えていました。もうやめた方がいい。

于 2010-07-30T09:42:28.940 に答える
0

コーディング時間は大幅に短縮されますが、デバッグ時間はそれほど増加しません。型エラーは、コンパイラが検出するのとほぼ同じ速さでテストで検出されますが、型を入力する必要はありませんでしたint fooBar = 2。また、4 つ以上の数値型がないことも役立ちますが...

于 2010-07-27T15:12:42.360 に答える
0

型を気にする必要がなければ、何かをより速く動作させることができるようです。一部の言語では、それらについて心配する必要はありません。

すべては、あなたが達成しようとしていることにあります。

于 2010-07-27T15:08:34.333 に答える