|
Authored by: stegu on Monday, April 23 2012 @ 11:34 AM EDT |
> which Android seems to have cast by the wayside
> once the bits that were useful to them were taken.
You forget some important facts there.
Google was downright prevented from making their Java
implementation compatible, because they were aiming for
a mobile platform. On mobile platforms "proper" Java is
not allowed, because Oracle's license terms still insist
on making a distinction between "desktop" and "mobile",
disregarding the fact that the line is now blurred by
laptops, tablets and smartphones. On mobile platforms,
all they could get was a license for the hopelessly
outdated and underpowered JME, which had already proven
a failure. This failure was the reason Google acquired
Android. ("We had a closet full of Java handsets that
didn't work.")
In addition to that, the desktop Java version (JSE)
is using a GUI toolkit (Swing) that is very heavily
focused on big screens with mouse and keyboard
interaction and would suffer greatly from using
touch input. Add to that the fact that wireless
networkingis different from traditional TCP/IP
networking, and that a smartphone has many hardware
components that need to be interfaced to (GPS,
phone, still and video cameras, accelerometers
and the like) and you get a whole lot of extra stuff
that needs to be put on top of JSE to make it work
on a smartphone. Swing would need to be scrapped
(subsetting) and new GUI and hardware interfaces would
need to be added (supersetting), creating a version of
Java that would not pass the TCK anyway.
Google has created a great product from stuff
they basically found on Oracle's scrapheap. Java for
mobile was dead at the hands of mismanagement,
but now at least the language has been revived.
Without Android, there would not have been a
Java version suitable for the current generation
of phones. We would be stuck with Java ME, which
was a terribly fragmented platform with different
hardware APIs for different manufacturers, and
which offered only limited access to all the
nice hardware you can find in a modern phone.
[ Reply to This | Parent | # ]
|
|
Authored by: xtifr on Monday, April 23 2012 @ 06:24 PM EDT |
Apache's goal was to create an implementation of Java that was free of
the restrictions found in Sun's Java. Their license allows their work to
be used in part or in whole, in proprietary or open derivatives,
without restrictions as to field of use or availability of source or a whole
bunch of other things. Google chose to take advantage of the "in part" part,
which is completely in line with Apache's goals.
Oracle's claim
that Apache was only "allowed" to pursue their path because they were planning
to make a compatible implementation is utterly at odds with the license Apache
used, which implicitly grants the rights to make incompatible derivatives. Sun
knew this from day one, and never objected until Apache asked them to deliver on
their promise to provide the TCK without field-of-use restrictions. (And even
then, they didn't object so much as ignore the problem in the hopes that it
would go away.)
--- Do not meddle in the affairs of Wizards, for it
makes them soggy and hard to light. [ Reply to This | Parent | # ]
|
|
|
|
|