Fact, Google ships an operating system with the userspace written in Java the language, making use of a subset of Java standard library.
Fact, Google created a schism on the Java compatibility story by only providing a subset, thus forcing Java developers to write Android specific libraries.
Fact, if Google actually cared about Java they would have bought the Java assets from Sun, after helping driving them to the ground, as they were aware Sun was short on cash and would never sue them.
Now we can all enjoy a broken compatibility story up to Java 8, while Java 10 is out there and the distance will only increase.
Android is just as bad for Java portability as J++ was.
But hey, it is the nice "do no evil" corporation against the big bad lawyer corporation.
I don't know what your problem is, and I don't know why you believe certain 'facts' that have never been presented at trial, but would clinch the case against Google.
I'm tired of reading legal documents to answer your complaints. You can read yourself, or continue ignoring the court case. Adios.
My problem is that Google just played a Microsoft, forked the Java eco-system, but because it is the beloved "Do no Evil " company of SV, it gets love support like yours instead of the hate Microsoft did exactly for the same result, while we Java developers have to workaround the fragmentation issues Google has brought into the Java world.
My problem is that I cannot pick any random Java library out of Maven and be 100% assured that it will run at all on Android.
My problem is that Android most likely will never move beyond its partial implementation of Java 8, as per Android P.
If it was for Google's wishes, Sun would have closed doors, hopefully no one would have bought the Java assets, they would get away with it, and we could all enjoy a Java language stuck at what was Java 6's subset.
> My problem is that I cannot pick any random Java library out of Maven and be 100% assured that it will run at all on Android.
You need to stop thinking of the Android SDK as Java, because it isn't. It has Objective-C to C similarities.
It doesn't have API compatibility, or bytecode compatibility or even the same class constructors.
Thinking they're pretending to be the same is going to cause nothing but frustration, and hurt you. It'll irritate and chafe more every time you have to touch that god-awful ecosystem.
> it gets love support like yours instead of the hate Microsoft
No Google does not get my love, I have ranted against their practices for years. This conversation has been about legalities, not ethics.
They suck as a company - but we have ecosystems built around compatible APIs, a legal precedent here would be awful for everyone. (Firefox's new extension API, the entire JS ecosystem, etc.)
> You need to stop thinking of the Android SDK as Java, because it isn't.
That is exactly my point, Google has broken Java's compatibility story, regardless if they have found a legal loophole to get away with it or not.
Objective-C and C are two completely different programming languages, where Objective-C is a superset of C. Any C compliant code is compilable by an Objective-C compiler.
It is not the same as what Google has done to Java.
Fact, Google created a schism on the Java compatibility story by only providing a subset, thus forcing Java developers to write Android specific libraries.
Fact, if Google actually cared about Java they would have bought the Java assets from Sun, after helping driving them to the ground, as they were aware Sun was short on cash and would never sue them.
Now we can all enjoy a broken compatibility story up to Java 8, while Java 10 is out there and the distance will only increase.
Android is just as bad for Java portability as J++ was.
But hey, it is the nice "do no evil" corporation against the big bad lawyer corporation.