[Isolate-interest] Isolate: Generics and autoboxing considered
harmful
Bill Foote
Bill.Foote at Sun.COM
Wed May 25 02:45:08 EDT 2005
Grzegorz.Czajkowski at sun.com wrote:
> Hello,
>
> FYI: work on this JSR has recently been resumed, and the result is posting
> a proposal for the second public review:
>
> http://jcp.org/en/jsr/detail?id=121
>
> Please share your comments.
>
> Thanks,
> Greg
Dear Greg, all,
I'm repeating something I said privately, but I'll
say it in this (much!) more public forum, to be sure
it doesn't fall through the cracks. It's important enough
to justify this, I think.
I think the API as it stands unnecessarily limits
itself to being only applicable to J2SE, for something
that's totally cosmetic.
The Isolate API is, I think, a perfect fit for devices like
home gateways, high-end mobile phones, Cable TV set top
boxes and the like. The link API provides a powerful,
close-to-minimal low-level API that can be used to build
more application-level communication mechanisms, like IXC.
Really, links look to have been the hardest thing to have
gotten right in the Isolate JSR, and I'm impressed with how
they turned out.
However, this last rev added generics and autoboxing to the API.
This is all very slick and cool, however, the J2ME CDC platforms,
for which Isolate is otherwise a perfect fit, do not have generics
or autoboxing. They likely won't for a long time, and products
in the market will continue to not have them for much, much longer.
In order to be applicable in the consumer
device space, the Isolate JSR has to address
this in its normative text. I see two viable solutions:
1) (easiest) Just say "no" to generics and autoboxing.
OK, they're sexy, but how much value do they really add
to the API? Is it really worth the confusion and dislocation
with the consumer space, and in other places that naturally lag
J2SE innovations?
2) Every place where generics and autoboxing occur in the API,
include normative text saying what they map to in compilation
environments that don't support these new features. It must
be sufficient to unambiguously specify the signatures that would
be present in a pre-autoboxing/generics environment, and
readable by someone "skilled in the art" who isn't up on
generics and autoboxing.
I'm of course open to other solutions.
I know, it's tempting to say "well, people should know about the
mapping," but that's not good enough for standards organizations.
If one were to specify a stack with Isolate and PBP, for example, one
would also have to specify the mapping of autoboxing and generics,
which probably means pulling some bit of specification out of J2SE,
which can lead to a whole big political mess that's potentially
fatal, and totally avoidable and unnecessary.
Just make the Isolate spec sufficient by itself, without recourse to
bits and pieces of J2SE, and you increase the chances of it being
applied in the J2ME/CDC space. This is worth doing.
Bill
More information about the Isolate-interest
mailing list