Gosling: Google’s Java Attitude Will Break Android Compatibility

There’s no one in charge of Java on Google’s Android OS – and that’s going to lead to trouble says Java creator James Gosling, in an interview on Java usage

I think that a year or two ago people thought we were kidding about this stuff. And we were not. There’s definitely going to be more of this stuff. The fact that we’re able to do this at price points that work for the CE [consumer electronics] manufacturers is pretty amazing. And you add all of that together and it turns into this unbelievably huge marketplace. And with the store. The hard bits of the store are its processes for managing deployment. The store that you see today manages deployment to desktops. But in not too long you’ll see it managing deployment to cell phones and cable TV set-top boxes, and all kinds of strange things. The cell phone stuff, we’re probably not going to directly do it. That’s the kind of thing we’d probably do in conjunction with the cell phone carriers.

Where’s the innovation going on in Java today?
It’s all over the place inside Sun. People are doing cool things in any direction you want to look. The enterprise guys — the GlassFish group — they’re totally on a tear these days. The OpenDS guys are being really successful. The OpenJDK guys are getting some real traction. Stuff like the Jigsaw modularity stuff is getting a lot of excitement.

Is that [Jigsaw] complementary to OSGi or different?
I think it’s kind of both. OSGi [formerly the Open Services Gateway initiative, a Java-based service platform] is this thing that kind of came from a different universe that’s being used for modularity. And it’s kind of huge and a bit of overkill. So we needed something that was a lot lighter weight.

So it would have the same functionality as OSGi?
Yeah. But with none of the other stuff that was irrelevant.

Well, I know Eclipse is big on OSGi, and a bunch of the enterprise Java players are pushing it.
And we even use it. But it doesn’t play well in the smaller spaces. I guess it’s just too overwhelming. If you start worrying about modularity in some of these other interesting places and you’re like, OSGi’s just too much fat.

Where are we with the issue of what language comes next? People say the JVM [Java Virtual Machine] supports all of these languages and one of them is going to supersede Java at some point.
Maybe. I actually would like to think so. It would be weird that, for what life span human civilization has, Java stays in place and nobody comes up with something that takes over. That would be just wrong. But the important thing isn’t really Java the language, it’s the JVM — the integration hub. And the fact that we can have all kinds of languages that get along together. You can be writing JRuby code interacting with Scala code with great performance, and it works really, really smoothly. The JVM is the piece that actually matters.

So are you more accepting of dynamic languages these days?
Well, I don’t know whether “accepting” is the right word. At the right times and in the right places, I think they’re great. If it’s not too much of a performance penalty. Because most of them have made design decisions that cause them to be way too slow for the things that I normally do.