3 ms·
In general, I agree with all but your last point. There are many things in Java that were good ideas at the time of introduction, but turned out horrible (seria
by RandomBK 9y ago
In general, I agree with all but your last point. There are many things in Java that were good ideas at the time of introduction, but turned out horrible (serializable, finalize, etc.)
- sgift 9y agoFair enough. I think both of your examples exist since JDK 1.0 (or 1.1), though I'd have to look to be sure. I think they've wised up after that.
- brogrammer_1 9y agoType erasure for generics...
- pron 9y agoWrong. 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.
- ddispaltro 9y agoI completely agree, what a blessing in disguise. Scala wouldn't be possible without it.
- tome 9y agoIt was designed in part by Phil Wadler, so it's not surprising it's a success.