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. cheers, dalibor topic
