Hacker News new | ask | show | jobs
by brogrammer_1 3348 days ago
Type erasure for generics...
1 comments

Wrong. Type erasure for generics is one of Java's luckiest breaks. At worst, it imposes a tiny inconvenience, but in exchange this is what allowed Java not to bake a variance model into the VM and libraries, and this is precisely what allows languages with different variance models -- like Java, Kotlin and Clojure -- to both share code and actual data objects with no runtime conversions. This is something that can't happen on .NET (see, e.g. how clumsily their Python implementation interacts with generics). This was a huge win for almost no cost.
I completely agree, what a blessing in disguise. Scala wouldn't be possible without it.
It was designed in part by Phil Wadler, so it's not surprising it's a success.