Gosling: Unified Java Tool APIs May Take a Year

James Gosling, the renowned creator of Java, now has a new job at Sun: CTO of the Sun Developer Platform. In that role, he gave his first formal briefing to reporters, noting that the push by the Java Tools Committee to create a unified set of APIs for Java tools vendors could take a year or more.

When asked if Java IDEs might align their APIs by next January (2005), Gosling said, “I doubt we’ll have all the work done by next year at this time, but we should have a good road map for what needs to be done…A lot will depend on the consensus. Some of that will be technical and some of that will be political.” Gosling expects some heady issues will affect the timetable, and the outcome, of the push for a common API set for Java IDEs, including UI integration, metadata support and workflow issues — all currently under discussion at the Java Community Process.

The variety of API implementations across various Java IDEs and frameworks, including NetBeans, Eclipse and IDEs from Rational/IBM and Borland, for instance, continues to play havoc with third-party ISVs. “We experience this pain on a daily basis,” said Mike Burba, a product manager with Compuware, makers of OptimalJ. Each time Compuwave revs its features “we have to spend several [developer] resources for packaging” the upgrades for each individual IDE’s API sets.”

Burba compared the situation with implementing Compuware plug-ins for Microsoft’s .NET. While Burba said there is no “open standards process” in .NET, as there is in Java, .NET does offer some tangible benefits to third parties– a standard API set to write to, which means .NET tools need only be written once. “There is more than one tool on the Java side. Having a standard plug-in API will greatly improve the availability of those things,” he added. In fact, Burba conceded, that lack of unity of toolAPIs means that plug-in ISVs cannot take advantage of one of Java’s most famous slogans: write once, run anywhere. “With plug-ins, we need to rewrite them every time,” Burba said, which slows down delivery and increases vendor expense.

Gosling put the disunity of Java tools APIs into historical perspective. “All platforms have different APIs. Right now, they’re artifacts of history. The JTC is trying to come to agreement on a set of APIs to make it easier” for devs and third-party plug-ins to work with the various Java platforms,” Gosling went on, pointing to the recently created Java Tools Community (JTC) effort to align different API sets from the different Java IDEs.

Sun Commits to NetBeans, Co-opetition 
During the meeting, Gosling and other Sun execs also revealed Sun will base its future product line on its Open Source NetBeans platform.

Sun’s Engineering Director Steve Wilson described some of the features coming for NetBeans 3.6, which will be available at the end of March. In specific, NetBeans 3.6 will have a redesigned UI and more integrated workflow to help developers work with the code editor, debuggers and the UI designer. Code folding is also on the horizon, which will let devs more easily condense/expand code blocks when working with other team members. NetBeans 4.0, slated for this fall, looks to add support for quicker editing, automated refactoring (which would let devs rename methods and fields in one step) and an Ant-based project management system.

Gosling also said he was hopeful that the rift between NetBeans and Eclipse could be mended as talks continue between Sun and IBM. “Our future is NetBeans. We’re doing an awful lot in tools,” he said, adding that all Sun’s future software products, including the core Java Studio Creator (formerly known as Rave), will be based on NetBeans.

Instead, it looks as though Sun is content to drive co-opetition among IDEs — both Open Source and vendor-supplied varieties. NetBeans may be the best example yet of signs of the challenge Sun faces in Java, as it looks to actively compete with other Java providers while at the same time maintaining its role as standard-bearer of Java rules and standards.

“Part of us wants to do whatever it takes to win,” Gosling said of the emerging Java IDE competitive scene. “But, if we blow up the league we know there is no game.” Despite his sensitivity to Sun’s evolving new role, Gosling didn’t elaborate on what actions Sun would consider fair game and what actions might “blow up the league.”

Sun execs confirmed their future in tools will be based on the company’s Open Source NetBeans IDE, and laid out a near-term road map for improvements to the platform. Details on Sun’s reaffirmed commitment to NetBeans comes in the wake of the break-up of talks between Sun and Eclipse that many Java developers and ISVs had hoped would have linked Eclipse and NetBeans.