Sun's Gosling: Java Is Open Source and Doing Just Fine

By Darryl K. Taft  |  Posted 05-14-2007

James Gosling, the creator of the Java language, is a Sun Microsystems vice president and fellow. Gosling spoke with eWEEK senior editor Darryl K. Taft at JavaOne and discussed the open-sourcing of Java, new directions for the Java platform and programming in general, new Sun technology and competing with Microsoft.

How did Java become another C++? It seems you created Java to enable developers to avoid the morass of C++ and now many developers say Java suffers from many of the same issues of bloat.

Well, you can take that question in a lot of different directions. I think that Java the language has actually done a pretty good job of avoiding the rat's nest of complexities that C++ got into. And with C++, a lot of its issues were that it was based on a design from a long time ago when looking at security and the rest of that weren't really as big of a deal.

And the evolution of Java the language has been really thoroughly scrutinized and vetted by the community. So I feel pretty happy there. The part that feels like it's gotten just unbelievably complex and hairy is all of the APIs. The set of libraries available in Java is just mind numbing. It's far huger than C++ ever got to. And in some sense that's an inevitable consequence of the range of things that people are building.

It's another one of these areas where this little thing known as the Peter Principle applies. The Peter Principle is that people get promoted to their level of incompetence. As a guy who's spent a lot of time trying to build tools to try to make developers' lives easier, if you make your life easier there are those that say: Oh, developer, you're just sitting around doing nothing, so I'll just give you more to-do items. And so if you look at the complexity of things people are building today, even compared to just five years ago it's just off the charts. So, with many of the systems people are building today, I have no idea how you would do them with other technologies.

Why did Sun create a fully new scripting language rather than leverage something that already existed such as Groovy? Why make developers have to learn yet another scripting language with JavaFX Script?

Well, it's not like there's a shortage of scripting languages. There's got to be just about a billion of them out there. A number of them are fairly popular. The problem is a lot of the power from a scripting language comes from trying to fairly tightly target a particular application domain. And the majority of the scripting languages out there were really put together around generating Web pages. And that's a fundamentally different thing than building a rich graphical user interface. And JavaFX Script is all about that.

So just at like a basic level, most of these scripting languages are very transaction oriented. A request comes in; you generate a page and boom you're done. Whereas in graphical user interfaces there's a real progression of time. Things happen over time…even really subtle things like a piece of text appearing. It doesn't just appear; it slowly unfolds. You slowly change its opacity, slowly change its size, slowly change whatever. There are a lot of things that are about animation behavior that are just different in the graphical user interface world.

So Chris [Oliver, the Sun engineer who conceived JavaFX Script] looked at this stuff in a fairly different way, and came up with something that works in that universe pretty well.

Read the full story on eWEEK.com: Sun's Gosling: Java Is Open Source and Doing Just Fine