Andrew Lentvorski wrote: > Christopher Smith wrote: >>> I think that the answer here is probably that Java--the language needs >>> to stop evolving and give way to a better language on the JVM. >> The JVM has specific problems that make this a difficult and limiting >> option. The JVM was very much defined as a language specific VM. They're >> trying to extend it now to be a bit more flexible, but the result will >> inevitably be very much like what happened with Java Genrics, because >> the problem is very much the same. > > I don't agree. The JVM can evolve with much more impunity than the > Java language itself. > > The JVM can be completely torn out and replaced as long as it provides > some way for Java the language to hold to its guarantees. You may find it interesting to know that most of the suckage in Java Generics was known for years to the designers of Gj, and they had previously implemented a solution that got around it... but they were limited by the fact that they couldn't add new byte codes to the JVM. ;-)
Similar issues have been raised around proper 64-bit support (concurrency + 64-bit primitives is.... problematic), unsigned arithmetic, etc. The folks involved with JRuby, Jython, Kawa, and various other dynamically typed languages have been looking for a single primitive to be added to the JVM (invoke dynamic). Said primitive would also provide some benefits for Java. Sun is now thinking it might be worth the trouble. > The longer I'm at this, the more I'm becoming convinced that the > scheme folks have it right. More advanced concepts require *less* > grammar, not more. Otherwise you get overwhelmed with the interactions. Scheme, Smalltalk, even LISP/CLOS. That said, Haskell folks seem to be on to something.... --Chris -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
