-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sonja Krause-Harder wrote:
> On Thu, Sep 14, 2006 at 11:02:30PM +0200, Manfred Tremmel wrote:
>>> For your own code, just use -source 1.4 -target 1.4
>> Right, but when SUSE itselve doesn't do this, I will not be able to 
>> start a delivered tomcat, Eclipse, with 1.4.2 and all the libs 
>> (my /usr/share/java directory is full of jar files which are part of 
>> the SUSE distribution) wouldn't be useable with gcj or Sun's java 
>> 1.4.2.
> 
> If we manage to deliver openSUSE on all relevant platforms with an 1.5
> (compatible) java, I actually wouldn't mind that the jars are
> incompatible with 1.4.2. 1.5 has been around for a while, 1.6 is about
> to come out, and I don't think we should wait with the move to the
> admittedly incompatible 1.5 language features until Sun decides to drop
> support for 1.4.2 altogether.
> 
> However (big however!) I have also to care about the platforms for which
> no Sun java exists, so I am sceptical about the switch as well. But the
> only way to find out what will really break is to start building the
> stuff with java 1.5 on the platforms where it is available.

Yeah, well, there's no substantial point in building 1.5 bytecode if the
source code doesn't use features from JSE 5 (generics, annotations,
autoboxing).

Almost every Java OSS project I know of tries hard to be compliant with
1.4 and sometimes even 1.3 (e.g. even Spring Framework 2.0 works with
1.3, and god knows it's a hell of a cool framework with tons of features).

The annoyance wrt packaging is that you have to know whether to pass
- -source 1.4 -target 1.4 or not, but the minimum JRE major version is
always documented, for each project.

Most Java OSS projects still only use 1.4 features in their source code.
The push towards JSE 1.5 comes mostly through EJB3/JPA (that requires
JSE/JDK 1.5). Generally speaking, wide-spread adoption of new JVM/JDK
major versions is very slow though, mostly because of EJB container
vendors (e.g. IBM just released a 1.5 capable Websphere a few months
ago) and, well, you can't just replace all those production servers
easily ;)

>> My hope is to get a *open* java for a *open*SUSE. I don't think Sun's 
>> java will be open in near future, it's a process starting with the next 
>> version, but will take a while, and maybe the wind changes inbetween. 
>> So I hope, gcj + classpath could replace Sun java, so we shouldn't 
>> build walls creating with getting incompatible jar-files.
> 
> That's a different can of worms ;-) While Sun java is a black box to us,
> we can (within tight resource and also knowledge constraints on my part)
> fix gcj/gij/classpath so that it can deal with 1.5-compiled jars. 
> (I'm actually not even sure that it plainly doesn't work, but I'll 
> have to check first before making any statements here.) And then there

As long as the source code doesn't use features from 1.5, it will work
great (given the current caveats of GNU Classpath, e.g. Swing support
not being complete). As an example, Tomcat 5.5 still runs with 1.4
(needs a few additional jars though).

"Fixing gcj/classpath so that they can deal with 1.5-compiled jars"
would mean at the very least adding generics, annotations and autoboxing
bytecode support into gcj (the compiler), as well as kaffe, sablevm or
cocoavm (the runtime(s)).

The point about the incompatibility is really the bytecode (obviously):
the new features of 1.5 come with new bytecode instructions, and those
are not supported by 1.4 JVMs - unless using retroweaver
(http://retroweaver.sourceforge.net/), but I can't comment on that,
never tried it myself.

> are other free jvms which we might want to check out. Any input on them
> would be greatly appreciated, btw.

I can put you in contact with Dalibor Topic (Kaffe lead), Mark Wielaard
(GNU Classpath lead) and possibly others in that realm, I've got good
contacts with them (FOSDEM) - besides the fact that they are really nice
people.
I'm sure they'd be interested in hearing about that ;)

IMHO the "problem" with GCJ, GNU Classpath, Kaffe, CacaoVM, SableVM
etc.. is that they are highly interdependent and we'd need to release
updates at regular intervals, especially for GNU Classpath, at least in
the Build Service. Then we would be able to build more and more packages
with GCJ/GNU Classpath instead of using the Sun javac, as a lot of
progress is being made with every GNU Classpath release.

cheers
- --
  -o) Pascal Bleser     http://linux01.gwdg.de/~pbleser/
  /\\ <[EMAIL PROTECTED]>       <[EMAIL PROTECTED]>
 _\_v The more things change, the more they stay insane.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFFCdYfr3NMWliFcXcRAhPyAJ9d68CoJGAN1jN3aD7TCkFOxts4vgCdFcFP
uMyRbmCZSLFEtMYaYT2QSYg=
=54XJ
-----END PGP SIGNATURE-----
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to