Java Is Well-Suited for Open-Source Projects

 
 
By Peter Coffee  |  Posted 2005-02-14 Email Print this article Print
 
 
 
 
 
 
 

With its ease of running code in many environments, the Java platform attracts a large share of open-source development interest.

With its ease of running code in many environments, the Java platform attracts a large share of open-source development interest. The SourceForge.Net open-source project repository, for example, included as of this writing more than 1,400 multiplatform projects in Java that were classified as being aimed at developers and as having reached a production level of stability.

Click here to read more about open-source development tools.
Many of these projects illustrate the collaborative energy that goes into open-source efforts and the sophistication of the results. One such project is PMD, a Java source code analyzer. (Dont bother asking what "PMD" means; the projects Web site includes a page explaining that the authors "just think the letters sound good together," offering what the site dubs "backronyms" such as "Project Mess Detector" for those who insist on a spelled-out name.)

Managed by Tom Copeland, a developer at the consultancy of InfoEther LLC, in Herndon, Va., the PMD project reached milestones of 1 million page views and more than 75,000 downloads last July.

PMD uses modular and extensible rule sets. Some of its rules reflect conventional wisdom, such as the rule that detects method names not conforming to normal practice. Others detect code that seems to have no reason to be there and help developers streamline code. One rule, for example, notes opportunities to return a logical truth value directly rather than going through a cumbersome if ... then ... else syntax to define it.

Among the most valuable PMD rules are those that detect code very likely to produce bad behavior—for example, the rule that detects a code block with a catch clause that does nothing, preventing higher-level code from being warned that an exception has occurred and doing nothing to resolve the problem.

PMD illustrates several benefits of the open-source approach to toolmaking: portability, extensibility and continual improvement. And it goes wherever developers find it useful: It can be run from a command line or installed as a plug-in to integrated environments including Eclipse, NetBeans, JBuilder, JDeveloper, IDEA or the seemingly immortal Emacs editor.

One planned future PMD development is the ability to look across multiple files at a single time. Also in the works is data-flow analysis, already implemented in early form, to do useful things like detect expressions that are inside a code loop but do not change during those repetitive cycles.

Open-source interest in Java development could take on still more vigor with the prospect of Sun Microsystems Inc.s placing the entire Java stack under its open-source Common Development and Distribution License. With Suns Java Enterprise System running on Suns own Solaris and Red Hat Inc.s Red Hat Enterprise Linux since last summer, and with Open Source Initiative approval of CDDL at the end of last month, the stage is set for even more open-source work using Java technologies—and for tools like PMD to Prevent More Damage.

Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.
 
 
 
 
Peter Coffee is Director of Platform Research at salesforce.com, where he serves as a liaison with the developer community to define the opportunity and clarify developers' technical requirements on the company's evolving Apex Platform. Peter previously spent 18 years with eWEEK (formerly PC Week), the national news magazine of enterprise technology practice, where he reviewed software development tools and methods and wrote regular columns on emerging technologies and professional community issues.Before he began writing full-time in 1989, Peter spent eleven years in technical and management positions at Exxon and The Aerospace Corporation, including management of the latter company's first desktop computing planning team and applied research in applications of artificial intelligence techniques. He holds an engineering degree from MIT and an MBA from Pepperdine University, he has held teaching appointments in computer science, business analytics and information systems management at Pepperdine, UCLA, and Chapman College.
 
 
 
 
 
 
 

Submit a Comment

Loading Comments...
 
Manage your Newsletters: Login   Register My Newsletters























 
 
 
 
 
 
 
 
 
 
 
Thanks for your registration, follow us on our social networks to keep up-to-date
Rocket Fuel