YOUR FEEDBACK
Adobe Flex 2 - Answering Tough Questions About Enterprise Development
A Correct Person wrote: Denis Roebrt commented on the 21 Aug 2006 "Tough Que...


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


Creating Java Tools to Fulfill the "Write Once, Run Anywhere" Promise

Digg This!

Imagine Henry Ford developing the first widely available automobile. He was a pioneer, engaged in the most exciting new industry of the time.

Imagine how frustrated he must have been. Where would drivers buy gas? Were the wrenches and screwdrivers advanced enough to build the cars? Would the cars hold up on the variety of roads out there? How would he ship the cars? And... would anybody buy them?

Nearly 100 years later, Java developers are pioneers all over again. It is an exciting time, but there are new obstacles to deal with. Instead of wrenches and screwdrivers, we use compilers and debuggers. Instead of gas, we use the AWT and JFC. And instead of roads, we run our programs on a variety of Java VMs. And we're still wondering what the right market is for our new software.

For Java developers, all phases of product development are complex. While native developers only need to cope with making their code work with mature compilers and APIs, Java developers must tame nascent technologies at every stage of development. When our software doesn't work, we can't be certain if we've coded something wrong, the compiler generated bad output, the APIs have bugs or the Java VM has an incompatible implementation.

Take Java VMs as an example. VM vendors are juggling features and compatibility, to the growing frustration of developers. Every VM does things differently, whether it's the implementation of the Abstract Windowing Toolkit or security management. These inconsistencies make it difficult to achieve the "write once, run anywhere" promise.

Current compilers and integrated development environments add to the frustration. The latest IDEs often lack many features of their native counterparts and fail to integrate the newest Java technologies. How many IDEs implement JavaBeans introspection, presenting a "customizer" if available, and linking events to listeners? And how many have integrated debuggers that can handle complicated, multi-threaded code? Not many.

But the situation is improving. Sun's recently announced Java Porting Centers hopefully will establish a common codebase for Java VMs and improve compatibility. It's still not enough though, and we should insist that all Java VMs be 100% compatible with each other.

The Java APIs are improving as well. While the AWT was quirky and needed adjustment for each platform's specific graphical user interface, the Java Foundation Classes eliminate most inconsistencies - a giant step in the right direction.

But Java tools still need improvement. Java developers shouldn't have to work with compilers that crash or IDEs that only partially support the Java APIs. Compilers must work perfectly every time. I can't tell you how many times I've seen people resort to the command line JDK tools since their "paid for" tools crash or are incompatible. It just proves the point that compatibility is far more important than features.

As Java developers, we need to help send this message to the Java VM vendors, IDE vendors and everyone else working with Java. We need to insist on core functionality with robust compatibility and completeness - before we ask for cool new features.

It's a whole new industry - we should treat it that way. Just imagine if the first Fords had saddles for seats and ropes instead of parking brakes... we'd probably still be wearing spurs in our fancy new sports cars.

About Eric Shapiro
Eric Shapiro is CEO and cofounder Zero G Software, Inc.

LATEST JAVA STORIES & POSTS
JavaOne 2008: A Developer's Perspective
This is my third JavaOne. Many topics were discussed, friendships were made, new partnerships were started. I must say things have changed a lot and stayed the same yet again, here are my thoughts in no particular order, bear in mind that they do not represent the opinion of my c
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in mi
A Lightweight Approach to SOA and BPM in Java Using jBPM
SOA is mostly associated with technologies such as BPEL, SCA and Web Services. But does SOA really imply these technologies? In this session we will show how you can use the service oriented approach while staying inside the Java world. jBPM is a powerful lightweight framework th
Case Study: Java and the Mac
This is the story of a Mac application developer (okay - it's about two of them) who set out on a quest to find an application development tool based on Java so his boss would let him develop on the Mac platform, which he loved. There was only one catch - he had to find a tool th
eApps Hosting Now Offers the GlassFish Java Application Server in VPS Hosting Plans
eApps Hosting announced that the GlassFish Open Source Application Server for Java EE 5, from the GlassFish community project, is now available as a click installable application service in low cost Virtual Private Server (VPS) hosting plans. The eApps Hosting service has support
The 4 Core Principles of Agile Programming
One of the things I really enjoy at the moment is the recognition and adoption of agile programming as a fully fledged powerful way to deliver quality software projects. As its figurehead is a group of very talented individuals who have created the agile manifesto (http://agilema
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE
BREAKING JAVA NEWS
Five Sun Microsystems Women Honored with Prestigious Awards
Sun Microsystems, Inc. (NASDAQ:JAVA) today announced that five Sun women have been awar