LAS VEGAS—In his first public
speaking engagement since Oracle's acquisition of Sun Microsystems, Java
creator James Gosling assured the Java faithful that Java is safe and secure in
Oracle's hands.
Gosling delivered the opening keynote at TheServerSide Java Symposium
here March 17, saying he was "encouraged" by the direction Oracle is
taking with Java and, "I don't think anybody in this room has anything to
worry about" regarding the future of Java. Particularly, with his talk
entitled, "Java Today and Tomorrow," attendees were looking for some
indication of where Oracle might make changes to Java or disrupt the status
quo. However, Gosling assured them that the business of Java as well as the
ongoing technological innovation of the Java platform continues apace.
Indeed, among the first things Gosling did was deliver an update on the use
of Java worldwide. For instance, the JRE (Java Runtime Environment) is
downloaded 15 million times a week, Gosling said, except for spikes such as
when Brazilians file their taxes annually—which is done via a Java application.
Moreover, there are 10 billion Java-enabled devices, 1 billion Java-enabled
desktops, 100 million Java-enabled TV devices, 2.6 billion Java-enabled mobile
devices, 5.5 billion Java smart cards and more than 6.5 million professional
Java developers, Gosling said.
Regarding Java desktops, Gosling said these desktops are "usually the front
end to a back end using a service-oriented architecture ... where the front end
has to be more sophisticated than AJAX."
Despite the TSSJS event's focus on enterprise Java, Gosling said Oracle also
is working on Java for the desktop, and in embedded, mobile, high-performance
computing and other systems. Yet, "the unifying principle of all of it is
the network; the network ties it all together."
Paying homage to his enterprise Java audience, Gosling said Java EE 6 (Java Platform,
Enterprise Edition 6) is the foundation of the next generation of enterprise
software. Gosling applauded the Java community and leading vendors for banding
together to get the Java EE 6 specification approved in November 2009 and for
delivering a bunch of new and updated Java APIs.
Java EE 6 focuses on modularity and introduces the concept of profiles,
Gosling said. As yet, there are but two profiles, the full profile and the Web
profile. The Web profile is the first Java EE profile to be defined. It is a
"fully functional midsize stack for modern Web application
development," Gosling said.
"We wanted to focus on the Web tier in this release," he said.
"We wanted to create a level playing field for Web frameworks."
Moreover, Gosling said the "pluggability" and extensibility in the
new version of the enterprise Java platform comes from the OSGi (Open Services
Gateway Initiative) modularity system at its foundation.
And Gosling welcomed the addition of dependency injection into the Java EE 6
specification. "Dependency injection allows you to inject dependencies in
your code and you'll be able to use the annotations features in JDK 5 [Java
Development Kit 5] to factor out boilerplate," he said. In addition,
"all the pain of EJB [Enterprise JavaBeans] has just gone away," he
added. Ironically, just a few years ago these same issues were the source of
bitter battles within the Java community, with visionaries such as Rod Johnson
of VMware's SpringSource division leading the charge to make changes to the
Java specification.
Meanwhile, Gosling gave an update on the GlassFish application server, which
has reached Version 3 and is the reference implementation for Java EE 6.
GlassFish also is the world's most downloaded application server, at 1 million
downloads per month, he said. Gosling also noted that Oracle continues to
advance its NetBeans IDE (integrated development
environment), which is targeted for enterprise, mobile and desktop development.
"The thing that's nice about Java is that it's a two-level
specification," Gosling said. "There's the Java language, but the
magic is in the VM [virtual machine] and how it works with other languages like
Scala, Ruby, Groovy, Python, PHP, JavaScript, JavaFX and a host of other
languages. Literally hundreds of languages can run on top of the JVM [Java VM].
It's a nice way to develop your app using all kinds of different tools in all
kinds of different ways."
Gosling also said he expects to still "be coding in the year
2030," although he expects that he will be working on massively parallel
systems with up to 5,220 cores if things progress as they have been.
Regarding the future of the Java language over the next five to 10 years,
Gosling said developers should look for stability, with steady language
enhancements that bring the entire developer base forward.
Gosling also said the Java Store that Sun touted so highly when it was first
announced in 2009 hit a slight roadblock when the company's accountants told
the engineering team they had to implement a system to handle taxation of items
sold in the store.
"We said, Why can't we just be eBay?" Gosling said. "But
we've come up with a viable tax solution and I expect that we will have a new
release of the Java Store for developers coming out any day now. The feedback
from the developer community has been really enthusiastic, because they've seen
what happened with [the] iTunes store and with all the Java devices out there
that [are] another couple of digits in the market size [as compared with
iTunes]."