Welcome Guest!
Create Account | Login
Locator+ Code:

FTPOnline Channels Conferences Resources Hot Topics Partner Sites Magazines About FTP RSS 2.0 Feed

email article
printer friendly

Finding the Best Value in Java IDEs
In an era of open source and free tools, cost and developer productivity weigh heavily on making an IDE choice
by Peter Varhol

May 8, 2006

Java developers and developer teams have many alternatives when choosing among commercial development environments. In the past, most made this decision by a combination of familiarity, cost, and technical applicability to the project at hand. Because many IDEs in the past had similar feature sets and costs, often the preference was based on familiarity.


However, these decision factors don't fully define the value that is delivered by the selection. Value in this case doesn't mean the number of features or ease of using those features, but rather by productivity in performing specific common tasks that developers do daily, and the cost of that productivity in terms of the product and support cost. As the cost of tools continues to drop, and there is less differentiation between core features, value and productivity are coming to the forefront as key differentiators in tool selection and use.

The equation has been complicated by the availability of free and open source integrated development environments (IDEs) such as Eclipse and NetBeans. At first glance, the best value might seem to be delivered by the free solutions. However, free doesn't necessarily translate into productive. It is likely that the most expensive part of the development process is the developer's salary, so optimizing the use of time is a key consideration.

The question of productivity is a big one, and few have attempted to even consider productivity when evaluating development tools. It is difficult to measure in an absolute sense because of both the nature of developer skills and the nature of the projects to which those skills are applied.

The requirements for productivity are real and demonstrable. Productivity means being able to do a specific set of activities faster or more efficiently in one way over another. The goal is to save development time and effort, which is typically the most expensive part of the development process. The investment in tools must significantly raise productivity, yet not cost so much as to diminish the value of that increased productivity.

This review looks at the features provided by the IDE, what they add to the ability to build common applications, and what a developer would have to do without them. As such, the products examined here represent different models of value and developer productivity: Eclipse-based versus proprietary, one-time license versus subscription, and so on. The intent is to look at a combination of cost over time and features to derive the maximum value.

With these criteria in mind, we'll look at Borland JBuilder, IBM Rational Software Architect, BEA WebLogic Workshop, Oracle JDeveloper, and Genuitec's MyEclipse Enterprise Workbench. The products we're focusing on here can be downloaded for evaluation and purchase, rather than requiring retail purchase, shipment in a box, or interaction with a sales representative (in most cases downloading requires registration or membership, but in all cases evaluation was free). While this method of procurement was convenient for purposes of review and analysis, it also represents the way a lot of developers prefer to obtain new tools.

The test machine for this analysis was a Dell notebook with a 1.6 MHz Centrino processor and 512 MB of memory. While this machine isn't an especially powerful computer, it is probably representative of the average of development computers in many enterprises. All of these products were applied to build a specific application: a simple Web-based time and attendance system. It enables workers to log on and time stamp their start and end dates, times, and calculate wages based on hours worked. The application includes several user interface pages, a simple calculation engine, and a back-end MySQL database. While the architecture and coding of this sample are relatively simple, it is likely representative of many applications that are developed for custom enterprise use.

Back to top

Java Pro | Visual Studio Magazine | Windows Server System Magazine
.NET Magazine | Enterprise Architect | XML & Web Services Magazine
VSLive! | Thunder Lizard Events | Discussions | Newsletters | FTPOnline Home