[kaffe] Re: [kaffe] Kaffe is obsolte! *please read, some very interresting suggestions*

jim at kaffe.org jim at kaffe.org
Tue Jan 7 22:31:01 PST 2003

> Hi there!
> I dont want to FUD kaffe-folks, but please think a bit about my ideas
> why developing kaffe is a waste of time.

All fun things are a waste of time.  :-)

> Kaffe is not powerful enough to be a java-replacement, in many part gcj
> beats kaffe in both, performance and plenarity.

Actually, Kaffe is a quite adequate Java replacement in many regards,
depending on your needs.

It does fill a lot of people's needs in ways gcj doesn't - Kaffe is a compiler
framework solely targetting Java using dynamic compilation techniques,
whereas gcj is more oriented towards bringing Java support into the
static compiler framework that is gcc.  In a lot of ways, the projects are
complementary - from what I understand, a lot of the gcj internals were
modelled on Kaffe, which predated it.  And some work has been done
to make gcj objects to work with Kaffe.

> There a three different Classpath implementations on the "market". First
> theres the GNU-Classpath implementation (I think this is the most
> useful, because every VM can use it without big effort), the
> Kaffe-Implementation and then the GCJ implementation.

I'd agree that it's a bit unfortunate that multiple class libraries were
developed in parallel instead of everybody pooling their effort.  Largely
that's history though, with both Kaffe and GCJ moving towards using

There isn't a lot of active development on Kaffe's class libraries at the
moment.  I'd prefer to steer new development towards Classpath, since
we're probably going to end up using much of it anyways.

> Please do not misunderstand me! I think a free Java-Enviroment is
> absolutly needed!
> But I think it would be better to concertrate all developer-recources
> onto one or two projects instead of developing ten or more different not
> java-compatible VMs with their own CLasspath!

Actually, I like having a large number of diverse free implementations!

Really, the Java spec is reasonably stable - once VM implementations get
to supporting a certain level of functionality, they all start to look the
same.  Where it gets interesting is when people start experimenting with
implementations and new features.  Anyone want to race their JVM
against ours?

That's where I see Kaffe being really useful.  It's never really been used
much in a production environment, after all, Sun's JVM is really quite good,
and is available for free to most people.  Kaffe has been successful
though, because a lot of good experimentation and research has been
done with it. 

> My suggestion would be to develop the Java-Interface of Mono instead of
> wasting recources in developing so many different JVMs!

The ironic thing is that I believe I read on the Mono website that they
originally started by looking at Kaffe to see what they could change to
make it run C# - and decided that they'd be better off writing a VM
from scratch.  :-)

Really, I think Kaffe is quite nice and clean and simple because it doesn't
try to be anything other than a JVM.

> Of course, I hate .NET and C#, because I think those technics are made
> for detroying Linux and make the programmes dependent on MS.
> But on the other hand, I think it would be a big chance for Linux and
> all the other free OS's to cath up with "binary-compytibility" to
> MS-Winodws(.NET). WINE tried this a very long time ago, and was never
> ready for critical use, because all the Winddows-APIS and MFC were so
> big und undokumented, that it was simply impossible to implement the
> whole shit...
> But please imagine all the the benefits a merge to mono would bring!
> I'll list all stuff that I can imagine:
> 1.) More time to add new classes / Maybe we could make a 1:1 merge with
> GNU-Classpath (GNUCL.->Kaffe/Kaffe->GNUCl) so both project would profit.
> Kaffe would be able to use all those new classes which GNUCL. provides
> and GNUCl. would be able to include some missing classes from the old
> kaffe-Classpath!

Dalibor has been busy merging classes from Classpath to Kaffe. 
Unfortunately, I think there are legal obstacles for doing merges the other
way due to historical reasons (Kaffe's libs are GPL, Classpath is GPL+Exception).
Of course, I think Classpath has already reimplemented most of what
Kaffe has, so there isn't too much need to do that anymore.

> Maybe this would let us the time to finitely ake a SWING-Replacement!

If anybody really wants to write one.  It might be a nice project for somebody,
but it's a really big job, and probably not that rewarding...

I'm not the biggest SWING fan - it has it's place, but I think the future
for Java UI libraries probably lies in expanding access to
non-lowest-common demoninator native graphics
libraries (sort of like the original AWT, but with some differences).

> 2.) The Java-Part would  benefit of all optimisations that will be done
> on the mono-platform!
> I think mono will be much more optimized than its now, because it simply
> will be the only way to run .NET-Apps (and ASP.NET!!!) under Linux and
> it has the power to fill this whole! (Instead of wine!)

Actually, there are other Linux CLR implementations (Portable.NET and
Microsoft's Rotor come to mind).

Oh yeah - it's not a secret anymore - if anybody was wondering what
Tim Wilkinson has been up to for the past year or so since leaving
Transvirtual and Kaffe - he wrote Smartcard implementation of .NET.  :-)


(not for Linux though - Linux doesn't fit on a smartcard)

> As I've heard some time ago mono is now about 15% faster that Kaffe...

15% faster doing what?  I have no doubts that it might be faster at some
tasks, but you really are comparing apples to oranges.

> 3.) I dont think that Kaffe will be very sucessful in the way like its
> now used and developed... It will be only used by GNU-Masochists and in
> embedded machines. Not a great future...

Hey, it's a niche.  :-)

> But with the integration into mono, it would be able to run kaffe-code
> on every mono-platform (and you'll see, mono will grow, I'm sure!).
> Hmm,  dont like the idea, that .NET is from MS and that its simply a
> copy of java mixed with some new and old technics, but I i think its
> netherless an interresting platform!

Mono and .NET are very interesting.

Frankly though, Miguel and the gang are a very hyperkinetic bunch - I
don't think I could keep up.  :-)

> 4.) Everybody will benefit on JIT optimisations!
> If a kaffe-developer is able to make the mono-jit faster, it will be
> useful for all other mono-languages too!

I think Kaffe's JIT is quite oriented towards Java bytecode translation.
Making it more generalized to handle both CLR and JVM bytecodes
would probably involve redoing a lot of the underlying assumptions.
Even though the problem domains are very similar, you'd probably
be better off starting from scratch.

> 5.)Marketing
> .NET is in, Java is out.
> You know, thats completly nonsense, but it seems that many users (and
> even developers!) think like this.
> Some of them use C#, because they think .NET will become the new
> standard. But if we would be able to provide them a useable and fast
> java-implementation (swing is really needed!!), I'm sure they'll soon
> notice that it is also .NET and so much nicer and much less dependent on
> MS-Code!

For me personally, I'm still learning about all the cool stuff that can be
done with Java.  I'd like to learn .NET as well, but it's still too young, and
it's quite similar to Java, so I have less need to learn it, other than for
curiosity's sake.

Ultimately, I still find Java the more interesting one, as the .NET "community"
has many years to go before they produce an equivalent amount of free
software as can be found in such massive projects as Apache Jakarta,
Eclipse.org, NetBeans, and the zillions of other free Java projects.

More information about the kaffe mailing list