You Can't Educate Pork

... but we tried anyway!
The picture above shows me and Azul CTO Gil Tene explaining
subtleties of object orientation to some pigs in Aarhus, Denmark.
We were in Aarhus for JAOO, which is
one of the best industrial conferences around. Check it out.
I gave a talk about the invokedynamic bytecode - here are the slides.
My previous entry about invokedynamic
prompted a bunch of comments, most of which I cannot address.
Someone was upset that I didn't mention Ruby. No slight intended.
On the contrary, I'm a great Smalltalk fan, and as I've mentioned in
previous posts, Ruby is pretty much like Smalltalk, with a few
minor differences. So clearly, Ruby is a fine scripting language, and a
Ruby implementation on a JVM could benefit considerably from the invokedynamic instruction.
The same applies to E. I apologize for mischaracterizing its
inheritance semantics. One might need to create new classes on the fly,
but the basic lookup process should still follow a linear path up the
inheritance chain - much like in mixin based inheritance.
In all these cases, supporting mixins in the JVM, a la
Strongtalk, would really help as well - but though I first
suggested that back in 1997, I don't expect that to happen. It is a far
more radical change to JVMs than adding the invokedynamic instruction.
The other big change that would be very helpful would be support for
more extensive reflective changes to existing classes. Discussing such
"Hotswapping" deserves another post, and will have to wait.
Posted at 09:02PM Oct 07, 2005 by gbracha in Java | Comments[29]