by Maggie Biggs

A time and place for IDEs

feature
Sep 19, 20033 mins

Developers weigh host of factors when determining the right approach

No matter how productive and flexible developers are when using a modular code editing approach, there are times when an IDE makes sense.

Creating GUIs and using change-management tools to deploy code to production are two uses where IDEs shine. Scott Anderson, a senior software architect, concludes that “the only thing I use an IDE for is GUI design.”

Likewise, iSoft Senior Programmer Glen Austin says that “IDEs make GUI development a breeze. I usually use the IDE to design the GUI and then change the underlying code to dynamically create the interfaces.”

If your production environment includes deployments to server platforms, such as IBM iSeries or application server platforms, such as BEA WebLogic or IBM WebSphere, it may make sense to use an IDE in the final leg of the cycle to more easily move applications into production. For example, SoftLanding Systems’ TurnOver change-management tool can help you deploy applications from within IBM’s WebSphere IDE. Likewise, working within BEA’s WebLogic Workshop IDE allows you to rapidly prototype things locally in an integrated test application server or deploy to production with ease.

IDEs may also make a good starting point for analysts and developers to work on application design and modeling. The development lifecycle would start by using IDEs to rapidly develop designs and do some prototyping. Once the design is “dialed in,” developers could then use either the IDE tools or a modular code editing approach to complete the project cycle.

Aside from these types of very specific tasks, the decision to use an IDE should be largely based on usability, skill level, and developers’ personal preference. The developer comfort factor with IDEs can be a boon, and some developers find that particular built-in tools make problem resolution that much easier.

“Borland’s IDEs are the standard and their tools are awesome. In particular, [Borland’s] OptimizeIt suite of tools helped us quickly locate the bottlenecks in our code,” says Austin. While there are profilers for code editors that provide equivalent functionality, OptimizeIt’s solid implementation gives it an edge; many developers will use this tool even if they don’t like IDEs.

IDE proponents contend that their integrated approach provides the handholding newer developers need, too. By making everything available from a single interface, IDE providers feel that newer developers will find tools, help, and code examples more easily accessible. In the case of Visual Studio, for example, David Lazar, director of Microsoft’s developer division, points out that “Visual Studio provides an extensive library of code to copy and paste as well as technology that makes it easier for developers to learn language fundamentals and things like proper syntax.”

Though IDEs may currently allow users to take a code-editing approach to development, many are simply limited to the code-editing tools supplied by vendors. There are few provisions that allow developers to plug in other tools of their own choosing.However, this may be changing: Lazar notes an interesting trend on the rise, involving the blending of the best of modular code-editing methodologies with visual IDE-based development tools.

In this scenario, “the developer has the choice of using a high-level approach [such as Visual Basic developers] or spending most of their time working with code editing tools [such as C++ or C# developers],” explains Lazar. These open, extendible IDEs — along the lines of Eclipse — are shaping up to be the likely model for future IDEs.