Keeping development tools sharp

IDE suppliers have been consolidating and stuffing their products with value-added tools, but which offers most for the corporate developer?

IDE suppliers have been consolidating and stuffing their products with value-added tools, but which offers most for the corporate developer?

In the early days of software development, tools were many and varied. Truly old-school developers would hack together something in a text editor such as Emacs or Vi (and some still do), but there were development environments for everyone, from 2GL assembly language programmers through to 3GL coders and 4GL GUI builders that basically bolted elements together.

But more recently, development tools have consolidated to the point where there are just a couple of key players, Visual Studio and Eclipse, and a constellation of legacy satellites. What has been happening, and what does it all mean for the enterprise developer?

The integrated development environment (IDE) generally consists of a source code editor and a compiler to turn the source code into an executable program. It is such a mature product category that it is hard to know how suppliers will innovate beyond the basic functionality. Once you have bolted in colour-coded syntax analysis, code completion, drag-and-drop components and other features, there is not much else you can do.

There are two ways forward for IDE suppliers. The first option is to buy up a competitor and boost market share. This is a standard phase of development in maturing markets. Many of the development environments of yesteryear have either died off or been assimilated. A couple of years ago the major development companies were IBM, Rational, Microsoft and Borland. Eclipse, the open source IDE platform, was gathering steam following a reorganisation.

“As we said in our 2004 market analysis, there would be two leading IDEs for the development community, Visual Studio and Eclipse,” says Gartner analyst Bola Rotibi. That prediction has been borne out by events.

The second option for suppliers in a mature market is to climb the value ladder, concentrating on value-added tools that sit further up the development stack, explains Mark Driver, research vice-president at Gartner.

“Expansion on top of core IDEs will include things like BPel, business process management tools and workflow engines, high-productivity tools and so on,” he says. “The world does not need another code-centric IDE.”

Driver adds that the IDE and the coding done with it constitute only one part of a wider picture that traces the development lifecycle through from beginning to end. Other tools in this software development lifecycle include requirements management and software testing, along with application modelling.

“Oracle and SAP will have to do this too. There is no way that SAP competes with IBM without source code management tools,” Driver says.

Borland is one company that has decided to draw a line between its commodity and value-added tools. The IDEs originally included C++ Builder, Delphi and J++. It is now paying an investment bank to try and flog them to someone else.

Remaining in Borland’s product stable are tools such as Together, its visual modelling tool for application developers, and the Core:: Analyst product for requirements management.

But who would buy Borland’s IDEs? Driver thinks Borland will split them off into a separate company. “JBuilder has a large legacy user base,” he says, “I suspect they will milk JBuilder as best they can and then start building a new generation of tools,” he says.

He has a point. Many developers change software about as often as they change sandals. You can still find ardent Foxpro hackers in the lunch queue at Microsoft conferences.

Anyone interested in the machinations of the Borland “DevCo” spin-out can read the blog by the new company’s chief scientist, Allen Bauer, at For an employee of a company going through a spin-off process, it is remarkably candid.

Borland, like many other developer companies, has blurred the lines between its own IDE effort and that of Eclipse, the open source IDE tools framework originally spawned by IBM.

IBM, which digested development tools company Rational after a £1.1bn purchase in 2002, has not done the best job of promoting Rational, says Rotibi. Rational’s tools, which focus heavily on value-added application lifecycle tasks, constitute the “build” side of IBM, she says, whereas the Websphere brand, which used to cover most of IBM’s development and a large part of its deployment platform, is now mostly for runtime tools.

At the end of the day, IBM’s strategy should encompass both Websphere and Rational, says Rotibi.

In the meantime, Eclipse forms an increasingly large part of IBM’s development strategy, especially with regards to IDE tools. Even moving further up the value chain, the Rational Data Architect enterprise data modelling tool is built on the Eclipse platform.

But what is Eclipse? It is both an IDE and a framework for building different configurations of IDE tools. IBM originally created the framework for bolting components of development tools together in 1998 after customers expressed concern that its development tools were incompatible and had a different look and feel. It rolled the platform into the newly created Eclipse consortium in 2001 and turned it into an open source project, in line with its pro-open source stance.

IBM wanted to build a community around Eclipse, but the industry was concerned that IBM still had too much control over the platform, so it formed the Eclipse Foundation in 2004 as a non-profit organisation with professional staff.

Suppliers and enterprise developers alike can bolt together their own tools using components from the Eclipse framework, along with their own custom-developed components. A wide community of plug-in component providers has also evolved.

“Eclipse is a phenomenon in its own right,” says Driver. “Eclipse alone, not counting the products based on it, has 50% of Java developer market share. Eclipse did to tools what Linux did to the operating system: it commoditised a portion of the market.”

This is in stark contrast to Netbeans, Sun’s Java development platform, which Eclipse has thrown into shadow.

Driver says that, whereas Eclipse was a toolbox of components designed to be deployed in different tool configurations, Netbeans was a prebuilt IDE that allowed for software plug-ins, so it could never be as modular.

“The issue is the ecosystem,” says Driver. “All the plug-ins and suppliers that supported Eclipse just choked off Netbeans. There may well be a niche for Netbeans moving into the future but I do not see any competition for Eclipse from Netbeans at this time.”

The Eclipse Foundation encompasses several projects. Its Web Tools Platform project extends the Eclipse framework with IDE components for building J2EE web applications such as source editors for HTML and web service wizards. The Rich Client project focuses on a subset of the framework designed to create more generic desktop applications rather than variations of IDEs. Instead of building a custom development environment, Rich Client could be used to create, say, an instant messaging desktop program or fat client groupware.

Another Eclipse project, interesting because of its scope, is the Application Lifecycle Framework (ALF), which is a set of interfaces for bolting together
lifecycle management tools sitting further up the value chain from the IDE. The ALF is just getting started, but it is an indicator of the speed at which the Eclipse community wants to move further upstream.

Rotibi worries that Eclipse is such a loosely defined community that it risks losing focus, with overlapping projects and confusing messages. But this June, Eclipse will make its Callisto release available – 10 Eclipse projects launched on the same day. That is a pretty good example of command and control, especially for open source.

The Eclipse community is growing in scope, rather than focusing in. From its roots as a Java IDE framework, it is opening up into other areas. Open source PHP IDE supplier Zend is working with the Eclipse Foundation to create a PHP IDE for the Eclipse framework, for example.

Eclipse takes a unique approach when dealing with the underlying operating system. Sun’s Java Foundation Classes use an operating system-independent set of graphics classes called Swing, which handle user interface components such as buttons, tables and text.

Eclipse uses the Standard Widget Toolkit, which hooks into the underlying operating system graphics engine. This means that Eclipse-based applications can be made to look like the host operating system, even though they run in Java.

The result is a program that runs on different platforms such as Windows and Apple’s Mac OS X, which can look more or less as though it belongs on the system.

The Eclipse Foundation aims to woo developers away from Microsoft’s platform as Vista approaches. Eclipse 3.2, which will be part of the Callisto shipment in June, will support applications running on Vista through the Win32 application programming interface (API).

“What we hope to do is have portability libraries working with the new APIs and allowing independent software houses and enterprise IT to build applications that run on Vista and other versions of Windows, Apple, and Linux,” says the Eclipse Foundation’s executive director, Mike Milinkovich.

In the meantime, Microsoft is busy maintaining its own ecosystem. Visual Studio 2005 is its IDE platform, available in different configurations.

Visual Studio Express is the free version, a digital honeypot to attract students and hobbyists into the Microsoft world.

Standard Visual Studio is targeted at web developers and individual coders building departmental systems. The Professional edition includes all the features of the Standard edition along with professional facilities such as mobile development and remote debugging. This is sold either with an optional Premium or Professional Microsoft Developer Network subscription, explains John Allwright, UK Visual Studio product manager.

Finally, Visual Studio Team System is an umbrella category containing four different products. There are three versions of Visual Studio in this category, each configured for a different role (architect, developer and tester). Each role has different features bundled. Architects have modelling tools, for example, while the developer version includes enhanced developer utilities that Microsoft uses internally. The software tester version includes web testing and automated regression testing.

The fourth product in the Visual Studio 2005 Team System is the Foundation Server, which serves as a back-end development server for the three team clients. It includes a collaborative system for bug and feature tracking, and for implementing different methodologies such as Scrum agile development.

Thanks to the rise of Eclipse, there is an inherent polarity in the IDE market today. Microsoft has opened up Visual Studio increasingly to the developer community with a free affiliate membership as part of its Visual Studio integration partner programme. Plug-in developers registering for this can download the software development kit for free. But it is still inherently opposed to open source.

On the open source side, companies are increasingly courting the enterprise market. Zend, an open source PHP supplier, is actively targeting enterprises with its scripting tool, for example.

The IDE market may be mature, but it is still exciting. Microsoft has to maintain its position against a rapidly growing free software IDE movement, which still has a lot of room for growth. This competition should lead to more comprehensive, feature-rich, interoperable development tools.

Read Hot skills: Eclipse

Read more on Operating systems software