harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthew French" <matt...@camary.co.za>
Subject Re: State of the World
Date Tue, 10 May 2005 13:00:24 GMT
Henri Yandell said:
> API Versions. Harmony needs to get 1.5 implemented, with an eye on 1.6.

Hmmm. I wonder if an open source java library would face the same issues
as the WINE project?

Basically you have this API with lots of function calls, many
unimplemented. Trying to pin the libraries to a particular version is
almost impossible, so the result is developers implement the library calls
when they find a program that uses them. This also makes it easer to test,
since you now have a test case to compare to.

I am guessing the Classpath project has the same issue. Is it really
practical (right now) for an open source java library to be 100% compliant
with J2SE 1.3/4/5?!? Would it not be more pragmatic to allow people to add
the features they need?

More importantly, is it necessary? The Java "way" supports deprecation, so
you know which functions are going to disappear. And from what I have seen
the majority of changes involve adding new functionality, which does not
break backwards compatability. How many API changes actually alter
functionality? And how many are just new classes/methods?

I am already beginning to think that it would be helpful to add
"non-standard" extensions to the VM specific libraries. Maybe we should
factor an "unimplimented" tag into this? Then the class loader can spit
out any link errors before running, which will make it easier to search
and destroy those functions/classes which have never been implemented? (I
am obviously assuming here that it is legal/possible to reverse the J2SE
javadocs into an implementation-free class framework.)

I am sure the Classpath people have experience with out-of-sync API's.
Just how much of a problem is this? If a large application like JBoss can
run successfully, how much of an issue is it that we are missing 15% of
the functionality? Or that we have 1.6 functionality polluting a 1.3 base?

- Matthew

View raw message