Role in IT decision-making process:Align Business & IT GoalsCreate IT StrategyDetermine IT NeedsManage Vendor RelationshipsEvaluate/Specify Brands or VendorsOther RoleAuthorize PurchasesNot Involved

Work Phone:

Company:

Company Size:

Industry:

Street Address

City:

Zip/postal code

State/Province:

Country:

Occasionally, we send subscribers special offers from select partners. Would you like to receive these special partner offers via e-mail?YesNo

Your registration with Eweek will include the following free email newsletter(s):News & Views

By submitting your wireless number, you agree that eWEEK, its related properties, and vendor partners providing content you view may contact you using contact center technology. Your consent is not required to view content or use site features.

By clicking on the "Register" button below, I agree that I have carefully read the Terms of Service and the Privacy Policy and I agree to be legally bound by all such terms.

Javas New Lines

With 67 Java specification requests at the stage of final release and 31 more in earlier stages of review, the Java platform is still very much a work in progress—mostly in a positive sense. The JavaOne conference in June showed encouraging signs, moreover, that the vigor of continued Java platform evolution is being tempered by a welcome maturity—in particular, with growing attention to predictability and clarity of process for current and would-be Java adopters and greater productivity for Java software developers.

At the same time, however, the strengths that used to distinguish the Java platform from other choices have not gone unnoticed: Providers such as Microsoft Corp. have responded in ways that enrich developers options.

The designers of the Java language reacted, initially, to the complexity of established programming languages (especially C++) by deliberately excluding language features—such as the use of unrestricted pointers to arbitrary memory locations—that opened at least as many doors to programmer error as they did to software efficiency.

In eWEEK Labs experience, these decisions paid off: Like others whove measured developer performance, weve found it typical for a simple development task to take one-half or even one-fourth the time to complete in Java than it does in C++, even when its done right the first time in both languages.

Further reading

The likelihood of requiring additional debugging time for a C++ effort (with measurements suggesting two to three times as many bugs per line of code and more lines of code per task) tilts the productivity balance even more in Javas favor for development tasks involving the writing of code rather than the exploitation of highly leveraged APIs such as those of Windows—an important qualification.

The flip side of that caveat is that developers also saw the rapid growth of a component marketplace for Microsofts Visual Basic and for other tools using Microsofts Component Object Model. The most productive coding is not needed to write code at all because a high-function component is already at hand and well-supported by high-level tools.

The productivity pendulum swung even farther in the direction of Windows technologies with Microsofts introduction of the Common Language model and supporting run-time environment for .Net Framework. In many ways, Microsofts C# language is Java with an "off" switch for the air bags, allowing programmers to take a deep breath and write intentionally unsafe code where they believe that the benefits are worth the extra scrutiny required.

The security features and other support provided by the .Net environment have addressed many of the arguments that Java developers had previously offered for the superiority of their choice.

Now, Javas designers restate their argument with developer productivity aids such as JavaServer Faces, JSR 127. Developers can anticipate that this technology will greatly ease the connection of server-side state and function to the appearance and behavior of client-side user interface components.

Fewer lines of Java code will also yield more results with the advent of a metadata facility for the Java language, as contemplated by JSR 175. Rather than different Java tools devising unique notations for common Java idioms, a standard mechanism for associating attributes with application elements will encourage judicious mix-and-match choices by developers who prefer to assemble their own portfolios of tools.

JSR 223 aspires to bring Java up to par with .Net in making software objects accessible from scripting languages, emphasizing the Webs popular PHP but also supporting such enterprise mainstays as REXX.

In 1997, among the most innovative of the early Java tools were two products from Sun Microsystems Inc., the elegant browser-based Java WorkShop and the innovatively component-oriented Java Studio. What put them ahead of their time, unfortunately, was their early and aggressive commitment to being "Java in Java"—that is, the tools themselves were implemented as Java applications at a time when the Java platform wasnt quite up to the task of competing with native tools with smooth and immediate response to developers commands.

Today, solving Java developers problems with Java technologies is a far more plausible goal, and its a heartening emphasis among the current crop of Java improvements in progress.

By submitting your information, you agree that eweek.com may send you eWEEK offers via email, phone and text message, as well as email offers about other products and services that eWEEK believes may be of interest to you. eWEEK will process your information in accordance with the Quinstreet Privacy Policy.

We ran into a problem

We already have your email address on file. Please use the "Forgot your password?" link to create a password, validate your email and login.