Programming with Reason

 

The Future of Java

 

Certainly, Java has not lost its status as the premier language in software development today. However, it may have lost some of its shine as the coolest. Other languages, such as Ruby, seem to have captured that status. But to most professionals, a programming language is more like a wrench (the right tool for get the job) than a religious choice. Of course, there are always exceptions.


Nonetheless, as a professional developer, it’s important to keep abreast of the latest in development languages and related technologies. This article will take a look at the current Java landscape, and its future, in a world of changing developer demands.


Java State of the Union


Java SE 6 and Java EE 5 represent the state in the art of in both standalone application development, and enterprise application development, respectively. Both come with application performance that matches their C/C++ counterparts, complete sets of development and debugging tools, thorough documentation, and a large community of skilled programmers to draw from. Whether you’re running a development organization, or you’re looking for advice from other developers, these qualities are most valuable.


However, many consider both Java SE and Java EE as bloated, complicated, beasts that require too much energy to tame. I, personally, don’t hear much about EJBs these days, nor do I see organizations (commercial or open-source) offering toolkits of pre-built Session Beans for others to use.


For instance, Java SE now comes with its own database (JavaDB, built on Apache Derby), its own IDE (NetBeans), as well as everything you need to build and deploy a web service. Some consider this a positive trend, where everything tool you might ever need is within reach. Others consider this an overwhelming bundle of disparate packages, many of which they’ll never use. However, most developers simply tend to ignore to these “extra” components, and don’t look at their inclusion as something negative.


I’ve mostly used Eclipse for development, but having NetBeans there has led me to explore it. It certainly has become an option to me now, and I feel more comfortable knowing I’ve worked with it. The same goes for JavaDB; I used it in a relatively small project and found it to be robust. And I certainly appreciate having the web services packages I need should I need to build one, without having to search for and download the packages separately. This is the reason Sun is including these packages; to put these tools in the hands of developers with little effort.


Java Simplification


Sun is making changes to simplify Java EE, in particular. For instance, Java EE 6 will introduce profiles analogous to those in Java ME. Some proposed profiles are a “web profile,” an “enterprise profile,” and a “web service” profile. Each profile is a subset of libraries and tools to deploy. For instance, the web profile will include support for Java Servlets only, whereas the enterprise profile will include support for EJBs and transactions for those that need it. Simply identify the profile that best suits the application you’re building, and you’ll get only what you need to get the job done.


 

Thursday, September 13, 2007

 
 

next >

< previous