Dear me, there was a real flurry of totally futuristic Java Specification Requests recently!
Watching Sun Microsystems turn into the mother of JSR invention recently was quite exciting. So far, it seems that Sun has said goodbye to earlier conservativism on all things regarding Java or the JVM, so apparently nothing is too outlandish to get into J2SE any more.
Embedding XML into the language? Sure, go help yourself. Adding new bytecodes to the JVM that are pretty pointless for running actual Java applications? Null problemo. Doing OSGi only sorta different with a twist? The JCP will let you have several JSRs for that. Loudly thinking that applying the idea of inner classes onto packages would be kinda cool on your blog? Woppiedoo, there is a JSR for you, too.
Last time someone tried to get people excited around one of those ueber-exciting JSRs that will totally reshape the future of Java (deployment), was JSR 277. That's the one where OSGi meets Maven, and they have a love child that is like a CPAN for Java, only with small JARs. Sorta. Kinda. It's hard to tell since the JSR 277 has not produced anything since its inception last summer, besides enthusiastic exclamations of support when it was announced. No drafts, no mails, no announcements, no calls for contributions, no nothing at all. Not even a java.net project, afaict. I guess it's one of those situations where JCP's approach to transparency via spec-leads really shines. So, yeah, if someone knows if JSR 277 is officially dead, or just looks like it, please do post a blog entry, or, preferrably, the JSR 277 mailing list archives. I am seriously morbidly curious if it was eaten by a grue, or something else happened to it.
What else does the future hold? Ah, "invokedynamic". A whole whopping new bytecode. The first one in approximately 10 years, afair.
So, it turns out that the whole "there is no Java in Ruby (on Rails) or PHP or Python" thing actually irks someone at Sun enough to do something about it, to give all those potential deflectors from the JVM something to hold on to, while the JVM gets rebranded as the language independant platform of the future. Since those programming languages are characterized as "dynamic" languages, someone at Sun thought really hard how to associate that cool, new buzzword with the not-really-well-known-for-its-dynamism JVM, and came up with a new bytecode, invoke ... tada ... dynamic!
Personally, I'd have gone with simply reserving bytecodes for "invokeweb", "invokeweb_2" etc. without specifying their behaviour, which would let future JVM designers easily choose which hype they want to invoke an association with. Less of a hassle with reworking the verifier.
And you know what? I'll let you submit that JSR. Consider this blog a draft spec, and go claim your five minutes of JSR fame.