5

私の質問は主に Scala に関するものですが、結局はまだ JVM の特性上使用しているため、javaタグも付けます。

パラメーター化された型を使用すればするほど、前述の質問が頻繁に発生します。型消去は非常に不便をもたらし (パターン マッチングcase x: A[B]が不可能になるなど)、実行時に型情報を運ぶ余分なオブジェクトを含むかなり重い実行時リフレクション ベースの回避策があるので、私は (私のユーザーの観点から見れば単純な話です)好奇心)どのような決定が現在の土地の嘘につながったのか疑問に思っています.

ランタイム情報まで完全な型をどこにでも運ぶのは複雑すぎますか? それとも、それほど多くのユースケースがなく、それほど頻繁に必要とされていないのでしょうか? とにかく、型消去の長所と短所は何ですか?

編集:この件については、いくつかの適切な議論、論文、または投稿などがあると思います。答えが理論的に裏付けられているか、少なくとも「ランタイム型は悪い習慣である」だけでなく、何らかの CS 推測を含んでいると期待しています。 . これは、それで問題が発生したかどうかの問題ではありません。決定につながるのは、CS の基礎です

4

1 に答える 1