Because Java has had such a terrible support record. And it’s not like Oracle has any products they support.
Microsoft has quite a history of creating and then abandoning different APIs and technologies.
This is all pointless hyperbole. This isn’t that big change in the Java ecosystem. It’s not like it’s going to cost $20 to run Java at all.
The price is for running Oracle’s Java... that’s older than six months... that you want security updates for.
You can run a different JVM, you can get the security patches from someone else, you can go without them. You can pay someone other than Oracle. Free options still exist.
Microsoft broke backwards compatibility when they introduced generics in .NET 2.0. Java, on the other hand, is still getting flac for refusing the break backwards compatibility to introduce reified generics.
Should it have been there from the beginning. Yes, but it would have delayed the release of JDK 1.0.
People often complain about type erasure, but I have seen very few examples of everyday programming where it would have helped. I think type erasure was a reasonable compromise.
The only real use case I can see is value types.
You want List<int> to be backed by array of ints, not Integer objects. But there are already plans to add this to JVM, once value types are added.
> Bytecode or ‘Intermediate Language’ (IL) changes. The main
> place that the implementation of generics in the CLR differs
> from the JVM is that they are ‘fully reified’ instead of
> using ‘type erasure’, this was possible because the CLR
> designers were willing to break backwards compatibility,
> whereas the JVM had been around longer so I assume that this
> was a much less appealing option. For more discussion on
>this issue see Erasure vs reification and Reified Generics
> for Java. Update: this HackerNews discussion is also worth a read.
Microsoft has quite a history of creating and then abandoning different APIs and technologies.
This is all pointless hyperbole. This isn’t that big change in the Java ecosystem. It’s not like it’s going to cost $20 to run Java at all.
The price is for running Oracle’s Java... that’s older than six months... that you want security updates for.
You can run a different JVM, you can get the security patches from someone else, you can go without them. You can pay someone other than Oracle. Free options still exist.