|
Authored by: PolR on Sunday, May 06 2012 @ 07:05 AM EDT |
"the issue is what would have happened to compatibility had they
done that" - That is incorrect. You are missing the point completely here.
Google could not have come up with different names and SSO, because you simply
couldn't use Java anymore. It wouldn't compile even if they changed just one
letter in each name, not alone the SSO.
What is the difference
between this and lack of compatibility? To me inability to compile is the
epitome of lack of compatibility. The answer to the question "what would have
happened to compatibility" is that the programs don't compile anymore.[ Reply to This | Parent | # ]
|
|
Authored by: darrellb on Sunday, May 06 2012 @ 07:17 AM EDT |
Without its libraries, Java is not Java.
By libraries, I mean everything necessary to pass Oracle's Java compatibility
test.[ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Sunday, May 06 2012 @ 10:47 AM EDT |
Most of the 51 packages that are in both Java and Android, are not needed to
compile a trivial do-nothing Java program. You could probably narrow it down to
a small number of classes that were "absolutely essential" for
compatibility... lets be generous, and say that 20% of the classes from the 51
packages are "absolutely essential".
You still need the functionality of all of the other classes, but in theory you
*could* change all of their names. But you give up a lot if you do that:
(1) Most existing Java code won't work at all on Android. It would need to be
rewritten or converted somehow. Once new programs are written for Android, they
won't work on Java platforms. It would be completely impossible to write a
sensible program that worked on both. It would be completely impossible to
write a sensible program where 95% of the code compiled for both platforms and
only the other 5% needed to be ported to each platform.
(2) Existing Java programmers can't use their knowledge of the Java libraries to
help them write Android programs (and once there are Android programmers, they
can't use *their* knowledge of Android libraries to go off and write Java
programs.) That's a huge down-side, that might even have made Android dead on
arrival (if they couldn't count on the existing base of Java programmers).
(3) IT CAUSES THE VERY FRAGMENTATION SUN WAS TRYING TO AVOID!
If you pitch the new offering as "this is like Java, but not quite the
same" and attract some Java programmers to it, their minds become polluted
by the "non-Java" equivalents.
So from Google's point of view, "compatibility" with existing Java
APIs (and thereby with existing Java programmers) was essential. But from Sun's
point of view, this "compatibility" was also much better than any
non-compatibility. Both eco-systems benefit from the sharing of the APIs, and
both eco-systems would be harmed by incompatibility between them.[ Reply to This | Parent | # ]
|
|
Authored by: old joe on Sunday, May 06 2012 @ 12:33 PM EDT |
While it's true that java code wouldn't run on the Dalvik VM in Android if the
names of all the APIs were changed it would nevertheless also be true that it
would be trivial to automatically translate Java to Dalvik if the only
difference was the API names and each Dalvik API used the same variables with
the same specification as the equivalent Java API.
This wouldn't help however, if APIs are copyrightable, since the Dalvik APIs
would be a derivative work, derived from Java.
That's what the judge needs to be told.
Lets hope interface compatibility gets established as a 'fair use' as a result
of this trial.[ Reply to This | Parent | # ]
|
|
|
|
|