I can't speak for the broader market but for my usages anything prior to Java 5 is "dead wood" and of no interest.

As of October of this year anything prior to Java 5 will be officially unsupported by Sun except where you have a paid support contract with them (including that for Solaris). Add to that the fact that Java 1.4 is so limiting for so many things and Java 5 is supported on even the most odd ball platforms (except Java ME, but I don't see FOP on ME...)

The Web Maestro wrote:
+1 from me on a new poll for discussion.

On Thu, Jun 5, 2008 at 11:56 AM, Jeremias Maerki <[EMAIL PROTECTED]> wrote:
+1 to being cautious about dropping support for Java 1.4 without
consulting the user base first, i.e. +1 for another user poll, though I
wouldn't do it before October.
+1 to putting the users' desires above the developers' desires.
+1 to moving to Java 1.5 when the time is right.
-0.5 (no veto) to moving to Java 1.5 before Oct 2008.
+1 to making experiments with Retroweaver (but please not in Trunk).

On 05.06.2008 17:46:07 Vincent Hennebert wrote:
Hi Guys,

I would like to raise this topic again: what about switching to Java 1.5
as a minimum requirement?

The End of Life transition period for Java 1.4 will end on the 30th of
October 2008 [1]. The next version of FOP (after 0.95) will probably not
have been released by this time, so we could start using 1.5 features in
the Trunk.

[1] http://java.sun.com/j2se/1.4.2/download.html

I don't particularly expect any disagreement from a developer point of
vue (who doesn't want to use 1.5 features?), so in the end this will
probably depend on the users' reactions, but I thought I'd ask for
opinions here first.

According to the poll Jeremias made in October 2007 [2], only 14.3% of
the users would think it's a bad idea to switch to 1.5. A year later the
percentage will probably have further decreased.

[2] http://wiki.apache.org/xmlgraphics/UserPollOct2007

I guess a new poll will still be necessary. Or we could base it on lazy
consensus: "If you still want Java 1.4 compatibility, speak up now!".

Anyway, even if 1.4 compatibility is still considered to be required,
there are tools to convert 1.5 code into 1.4 compatible one. I'm mainly
thinking of Retroweaver:
It's BSD licensed, so IIC there wouldn't be any problem to distribute it
with FOP. Obviously it would be an (optional) compile-time dependency
only. I haven't personally tested it, but I'm told it's working pretty
well and it seems to be well maintained. Of course I'd volunteer to
introduce it into the build system and see how it works. FWIW, it's
based on the ASM library, that I've had the opportunity to play with
a few years ago, and what I can say is that it's a really nice, strong,
lightweight, easy to use library for manipulating class files.

Obviously we wouldn't switch everything to 1.5 immediately. We would do
it progressively, when fixing bugs or implementing new features. So it
should be easy to check that the conversion is working properly by
running the testsuite on a 1.4 jvm, before every commit. Also, we could
restrain ourselves to features that are directly translatable to 1.4:
generics, enhanced for loop, autoboxing/unboxing. Most of all we could
stick to using methods from the Java standard library that are also
available in the 1.4 version (and, for instance, not use the new
concurrency package for now).

Just having the possibility to use generics would give us tremendous
benefits: simpler, cleaner, safer code, more easily understandable, more
easily maintainable, etc. I can't wait anymore to use those features.


Vincent Hennebert                            Anyware Technologies
http://people.apache.org/~vhennebert         http://www.anyware-tech.com
Apache FOP Committer                         FOP Development/Consulting

Jeremias Maerki

Reply via email to