New developments: integrated development environments
Integrated development environment tools can put your apps into action
- By David Essex
- Jan 09, 2003
Since the late 1980s, integrated development environments have been popular tools with which programmers write code, compile it for execution and debug it, all without having to load another program.
Now, IDEs are increasingly taking the 'I' out on the road, with tight links to Web groupware, visual modelers and performance-testing tools.
'IDEs are becoming more like a cockpit for interacting with other members of the team,' said Axel Kratel, senior product manager for Borland Software Corp., maker of C++ Builder and JBuilder.
The tendency to absorb'or at least link closely with'third-party tools has been quickened by a rash of recent corporate acquisitions, led by Borland, which has earned a reputation as a sort of tool shark. Just this past fall, it bought Starbase Corp. of Santa Ana, Calif., and TogetherSoft Corp. of Raleigh, N.C., gulping up two of the leading model-based teamware and development vendors, respectively.
Shortly after, IBM Corp. made a huge splash by snatching Rational Software Corp. of Lexington, Mass., the leading maker of software lifecycle management and modeling tools. IBM has taken a leadership role in the Java development community, thanks to the growing popularity of its WebSphere server and, now, Eclipse, a public-domain Java IDE and standard application programming interface for IDEs that could encourage greater interoperability among products.
Other industry standardization efforts encourage the mix-and-match IDE philosophy. JSR 198, a Java specification under discussion in the Java community, will provide a standard API for Java IDE plug-ins. 'The intent is to level the playing field for both the vendors and the partners,' said Jeff Anders, group marketing manager at Sun Microsystems Inc.
All this portends big changes in the development tools market in the next couple of years, though most indications are that IDEs will continue to be the vortices that pull everything else into their paths.
'The lifecycle tool vendors have rich experience and tools that the IDE manufacturers are missing; however, the IDE vendors have much larger customer bases and a greater ability to discount products because they are also generally platform vendors and see tools mainly as a channel to promote the platform,' noted Thomas Murphy, senior program director for application delivery strategies at META Group Inc. of Stamford, Conn., in an August 2002 report. 'Therefore, we expect IDE vendors to have the long-term upper hand.'
Meanwhile, emerging application-development standards and technologies are quickly finding their way into the better IDEs. Features that support software reuse, and faster and more flexible programming methods, are becoming more common. For example, the newest IDEs support refactoring, which lets you improve a program's internal structure without changing its functions. This makes it easier to adapt code for new uses and speeds development by taking some pressure off the early design phase.
Murphy as well as other analysts and product managers concur that collaboration and lifecycle features will help IDEs maintain their pivotal role in the emerging world of standardized, reusable components and Web services.
Tough keeping track
High-level management of code, gleaned from disparate sources that seem to grow exponentially, will be the only way to ride herd on projects. And because lifecycle tools provide a coherent view of the different logical levels of a project, they are essential to sharing information with programmers who have different skill levels, languages and experience.
'If I'm a UML modeler today, I'm not going to become a nuts-and-bolts programmer tomorrow,' Anders said. Hence the need for tools that help any type of programmer understand a given application now and in the future.
'What's going to be important is that the artifacts can be shared by the different levels of the hierarchy,' he said.
The development world is so awash with tools both minuscule and monolithic that it can be hard to spot the true IDEs. But the old definition still applies: an IDE must let you edit, compile and debug actual C/C++ or Java code, so you'll only find products that do all three in the listing on the next page. Rapid-application development tools like Borland's Delphi aren't included because they have their own special programming languages.
Also, important tools that work alongside IDEs, such as the StarTeam groupware from Starbase, and almost all of the popular modeling and lifecycle management tools from Rational aren't listed, either'they don't let you write code.
IDE product managers say to beware of nominal Web services and XML support; some vendors are buzzword-compliant in their marketing, but don't let you work in native XML, for example.
When comparing products, make sure to do it apples-to-apples: one vendor's amazingly cheap Java tool might not have the enterprise-class server deployment features of another, even though both support the same basic standards.
Don't take a vendor's word on scalability: When piloting a prospective IDE, import your biggest code and see if it chokes.
Look for lifecycle features either built right in or as support for the Rational tools, which are the de facto industry standard. And don't confuse an IDE with a lifecycle or modeling tool'even though in a couple of years, there might not be any difference.David Essex is a free-lance technology writer based in Antrim, N.H.