Sun is set to release the latest and greatest version of its Java development platform this week. Java Standard Edition version 6 (code named "Mustang") contains a plethora of new features designed to inject new energy into the 10 year old community.
Update: Java 6 is now available for download.
Some of the major themes of this release include:
Java on the Desktop
Java is already the #1 most popular language in the world, according to the TIOBE Programming Community Index. While Java code dominates on large enterprise servers deployed by companies such as eBay, adoption of Java on the desktop has never become ubiquitous on the desktop, where most people still run Windows-only C, C++, Delphi, or Visual Basic applications
The Eclipse Rich client platform has been making significant headway in this space, challenging old notions that Java programs couldn’t have a "native look and feel".Users can immediately benefit from improved performance and security by updating However, for various reasons, Eclipse did not enjoy the support of Sun or the Java Community Process (JCP). Now with Java 6, Sun brings integration with native desktop facilities, font anti-aliasing, and other features important to desktop workers into the mainstream. [More on Desktop]
Ease of Development
Java 6 includes newly redesigned Java DataBase Conectivity (JDBC) library, with a focus on making it easier than ever before for Java programs to get at data in popular SQL databases such as Oracle, MySQL, and DB2. JDBC 4.0 leverages language features such as annotations and generics, and supplies a new set of utility classes to reduce code that previously had to be repeated in each application. Smaller, simpler code increases developer productivity and reduces the chances for error. [JSR221]
Monitoring and management
As Java has matured and become more entrenched in mission critical enterprise applications, newer versions have added better support for remote monitoring, management, and diagnosis. Java 6 builds on this by allowing administrators and developers to look at what is going on inside a running application without bringing it down and starting it back up with "debugging" options.
XML and Web services
Service Oriented Architecture (SOA) is the latest buzzword for something that takes a a few fundamental tenants of good programming design (decoupling, information hiding, separation of concerns) to a new level. Programs or subsystems written by different groups or companies expose the least possible "API surface" to other programs and subsystems. This allows developers to change the internal implementations without affecting any upstream or downstream consumers.Innovations plus a vibrant developer community will ensure Java’s dominant position for many years The fabric that ties all these components together is XML. New facilities included with Java 6 allow Java to participate in this environment easily and securely. [JSR105, JSR222, JSR224]
Any program running on a previous release of the platform can run unchanged on an implementation of Java 6. This means users can immediately benefit from improved performance and security in their existing applications by updating their installation of the Java Runtime Environment (JRE). According to Sun there may be a few rare exceptions but those typically involve serious issues such as security.
Developers will also be glad to know that Java 6 does not introduce any breaking syntax changes in the language. Java 1.4 and Java 5 both added new keywords to the programming language that required old code to be modified before building it with the new compiler. However, when moving to the compiler in the Java Development Kit (JDK) for Java 6, programmers won’t to go through that hassle again.
For many years Java was developed largely behind closed doors by Sun engineers. Beginning with Java 5 (code named "Tiger"), Sun started what Java Chief Engineer Mark Reinhold described as an "experiment of openness" by releasing Tiger snapshots to the public. Sun developers and users alike warmed to the idea of working collaboratively and thus reducing the time between the developer coding something and the user trying it out and providing feedback. Based on the success of these experiments, Java 6 snapshots started in November 2004. Thus some people have been running early versions of Java 6 for over two years.
Java 6 is the latest in a long line of evolutionary releases of the Java platform. As befits the most popular and widely used programming language in the world, the main focus of Java 6 has been stability, performance, and compatibility. However, this is not a platform that is treading water. Innovations in scripting, desktop integration, and web services, plus a vibrant and ever-growing developer community, will ensure Java’s dominant position for many years to come.