harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dalibor Topic <robi...@kaffe.org>
Subject Re: Harmony and the future of Java
Date Mon, 27 Feb 2006 12:58:59 GMT
Geir Magnusson Jr <geir <at> pobox.com> writes:

> >> Getting closer to topic, I wonder if someone can post here a 
> >> subjective summary of the ideas on support for dynamic languages in 
> >> future java. I'm concerned about the stagnation of jython (barely 
> >> commits since 2.2a1) and I would also like to know how far is support 
> >> for dynamic languages going to be.
> It's my understanding that Sun et al has figured out there's a problem. 
>   The dam was broken w/ the Groovy JSR, and if there isn't now, there 
> will be a JSR at some point focused on support for dynamic languages on 
> the JVM.
> Groovy made some important people (like Graham Hamilton) either realize 
> or admit that "Java" as we know it is fundamentally about the JVM and 
> classlibraries, and how you produce your bytecode is secondary.  (i.e. 
> if you write in Java, great!  if Groovy, great!)

I think the situation depends on what one wants to do. If one wants to have a
Java-like language, that's got some properties of dynamic languages, then yes,
one can sort of do that on the JVM today, and it may not be too hard to make the
life of implementors of such languages a little easier in the future, without
breaking the type system, security, yadda, yadda of the JVM.

If one wants to have a language that is not Java-like, and hasn't been designed
with the idea of having it compile to the JVM, then one won't get such a
language implemented efficiently on top of a JVM, as can be seen by the long,
long list of implementations of languages for the JVM that are not as successful
as the implementations that don't run on the JVM.

The JVM design is very hard to extend without breaking years of existing code,
and/or making migration really ugly, or introducing nasty problems in the type
system, i.e. throwing security overboard. See JNI, which was shoehorned later
into the JVM to replace NMI. It's not exactly beautyful. See JSR 14's necessity
to go with erasure over reification, and so on.

We're stuck with the JVM, and contrary to some people, I don't think that's an
advantage, no matter how great some people may belive that some proprietary JVM
implementations are.

I do think that Java has a future ahead, though, and that free software
implementations like Kaffe, Harmony and other have a (hopefuly large) role to
play in it. I don't think they, or JRuby, Groovy, or whatever, can save Java
from losing the niches where it's not a great solution for the problems, to
other platforms, languages, etc. But they can help solve the yucky problem of
integration of Java code into other systems, which is not going to be solved by
companies with a strong monetary interest in keeping the developers stuck on a
platform they have complete control over.

As for developers, I find it hard to believe that the same pragmatic Java
developers who rejected the idea of them being voluntarily trapped on a
proprietary platform last year when RMS published his Java Trap article, will
have ethical problems pragmatically switching over to the next best proprietary
Java-like platform, once Whidbey is dominant, and leaving Java behind them on
their CVs.

dalibor topic

View raw message