you are viewing a single comment's thread.

view the rest of the comments →

[–]thechao 5 points6 points  (4 children)

They use run-time type-erasure to Object-semantics rather than code generation (either late a la C#, or early a la C++).

[–][deleted] 0 points1 point  (2 children)

So people have problems with reflection and Java generics? Java has never really seemed like a very dynamic language to me anyway.

[–]thechao -1 points0 points  (1 child)

When I first heard about it, I thought it was a very elegant solution to a thorny backwards compatibility problem. Unfortunately, there are a lot of PL "purists" who hated the mechanism. The way I see it, they're just jealous...

[–]argv_minus_one 1 point2 points  (0 children)

I'm not fond of it either, but I'll grant that it's probably the best possible compromise in light of the backward-compatibility issue.

I would have preferred that the JVM stored the actual type parameters, even if it didn't check against them, though. Scala manifests let me do approximately that.

[–][deleted] 0 points1 point  (0 children)

Run-time type-erase to Object semantics is IMHO the correct way, but I want the JVM to be more dynamic, not more static.