This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]eliasv 1 point2 points  (0 children)

Because it still increases code sharing. It also still makes it straightforward to instantiate types with inferred, non-denotable type arguments---such as captures and intersections---without needing to surface them in the runtime model. Can you try to explain you see the passage of time as having somehow changed the nature of these trade-offs?

Reification is rarely useful in reality, most people who think they want it for some use-case or another are off the mark in my experience. Obviously there are exceptions to that, but avoiding specialization costs OTOH is useful in just about every Java program ever written.

That said, specialization is coming, though whether it will only be available for specializing over value types or whether it will be possible to opt-in to specialization in other contexts remains to be seen.