>Perhaps it would help the discussion if someone familiar with all the
>issues involved could post a bullet list of the pros and cons of >keeping 1.1 support vs. dropping it.


One of my own concerns: It is reported that the Java 1.2 collection classes are significantly more efficient than the Java 1.1 versions, due in part to not being "over-synchronized". I don't know how much this would buy us, but I'd like to find out.

Since there's a jarfile available from Sun which makes the new classes available to Java 1.1 users, cutting over to these would _not_ make Xalan unusable on the Mac; it would just require one more download and one more addition to the classpath.


As was noted, there are a few interactions with the operating system where the Right Answer in Java 1.2 and later really does require a class which isn't available in Java 1.1. We've been working around that with reflection... which works, but is harder to maintain and costs some performance. In fact, I don't _think_ the performance issue matters in that corner of the code; I don't think it's in the inner loop -- but it definitely counts as an Unnatural Act.

(Digression: We're also using reflection to retain compatability with Xerces1's incremental parse capability; we need to think about how long we retain that before declaring that Xerces1 is treated like any other SAX parser and passed through the throttling filter instead.)


For the rest: Since we've been coding for 1.1, I've been actively trying to ignore 1.2-only methods and classes. I know there are places where I've had to write additional code as a result, but I don't have a good handle on where. There are probably a few comments in the code logging where we've had to reinvent wheels or apply workarounds, but probably not as many as there should be...



Developers _can_, and do, use newer JDKs now. The problem is, this means that unless we're careful we risk checking in something that works for us but breaks the 1.1 users. I've lost track of how many times I've had to go back and change add() to addElement() and so on, and that's one of the easier ones to remember.

Reply via email to