The march of IDES

Integrated Development Environments adapt to new complexities, changing times

Integrated Development Environments

What are they?

Integrated Development Environments are software suites for building software. They typically include (at a minimum) a code-editing tool, a compiler or interpreter to build an executable version of the program, and tools for debugging or finding errors in the code. Most also include a tool for browsing software components and classes and other tools for doing visual development.

But as software development has become more complex, many have grown to include application modeling tools, development team collaboration tools and even desktop versions of the application server environments that they deploy for testing purposes.

Who needs them?

Some developers claim that they get along fine with just a standard text editor (like emacs or Vi in the Unix world, or Notepad or a similar text editor on Windows), and 'makefile' utilities that compile code and report errors. But IDEs help development teams share standard components, plug more easily into code repositories and are good at helping manage large projects. If you're doing any sort of development that relies on teamwork and will run in more than one place, you probably need an IDE.

How much do they cost?

Because of the simultaneous growth in the complexity of software development and the emergence of open-source IDEs like Eclipse and NetBeans, there's no simple answer to that question. Commercial client-side development tools cost hundreds of dollars; commercial enterprise development tools (which work with application server environments like Java Enterprise Edition) start in the $2,000 range. But some vendors give their IDE software away, and open-source tools are free and freely redistributable.

What should I look for?

The most important thing to consider is the productivity of your developers on the platform of your choice. Those factors may narrow your options quickly, depending on the kind of development you're doing.

If you're doing development for a commercial enterprise application server platform, you may want to stick to the tools supported by that vendor unless other tools support that platform well. Be sure that the company you're buying from is going to be around for a while, or you may find yourself looking for a whole new developer toolset in a year or two'and retraining your team on that tool. Look for support for software architecture tools so that you can integrate models based on enterprise architecture into your development process.

If you're focused on doing standards-based development, consider open-source tools'many of the high-end commercial tools are based on them to begin with, and their functionality and available support is growing rapidly.

What's next?

Eclipse and other open-source tools will continue to gain momentum; dynamic programming languages such as Python, Ruby, Perl and PHP will become more widely adopted by major platform vendors and make developers more productive'and make support for those languages more important in IDEs. And development tools vendors will continue to shift away from building their own full-featured IDEs and focus on plug-ins for big players like Microsoft's Visual Studio and the Eclipse Foundation's open-source Eclipse IDE.

Integrated development environments have become increasingly complex and encompassing over the past few years. The basics remain the same'tools for editing and correcting code, managing files, and building and deploying the final working product. But the ways in which applications are built and developers work together has changed significantly.

That's because most enterprise applications now depend on a range of resources that lay far beyond the developer's desktop and can be deployed in pieces across multiple servers and clients.

As a result, today's IDEs have to help developers deal with exponentially more complex projects that tie into Web services, service-oriented architectures and a variety of server and client resources. They need to simplify the task of dealing with a variety of application programming interfaces and frameworks, as well as provide for documentation and hook into application lifecycle management systems so that what comes out of them can be better managed.

That's a lot for a single suite of software to bite off, especially when multiple operating systems and server platforms are involved. But imagine what life would be like for your software-development team if you could have a single integrated development environment that handled every part of your application-development process for whatever kind of client and server mix you wanted to run your software on.

Now, imagine if that IDE was free.

You don't have to imagine too hard, because open-source projects are bringing that vision closer to reality every day. The rise of open-source development has flipped the entire world of application development tools on its ear over the past year, as more and more major application platform vendors put their weight'and intellectual property'behind open-source tool projects.

Since the late 1990s, the number of commercial developer suites for the major programming languages such as C, C++, Fortran and Java has been in decline, and few independent vendors of IDEs remain. Most commercial IDEs are now produced by operating system, hardware or application server vendors.

Apple Computer Inc. has pushed developers for its Mac OS X to XCode, Apple's own development tool, as a result of the company's move to the Intel processor. If developers want to create 'universal binary' applications that run on Intel Macintosh computers as well as those based on Freescale Semiconductor Inc.'s PowerPC G4 and IBM Corp.'s PowerPC G5, XCode is their only option. Freescale has its CodeWarrior IDE for development on PowerPC.

And then there's Windows. Microsoft Visual Studio 2005 is the dominant IDE for development on Microsoft's Windows, .Net and SQL Server platforms. Visual Studio directly supports development in C++, C# and Microsoft's Visual Basic.Net and J# languages, as well as more than 30 other languages through partner plug-ins to the Visual Studio environment. Microsoft's Visual Studio Industry Partner program has made it more viable for specialized-development tool vendors to hitch a ride on Visual Studio than to build their own full-blown IDEs.

Because of Microsoft's natural advantages, Visual Studio has driven most of the competition out of the C++ Windows developer tools market, or turned them into Visual Studio partners. Rational Software Corp. was acquired by IBM, and its developer tools for Windows are now add-ins to the Visual Studio environment. The only IBM VisualAge IDEs remaining for Windows are for PL/I and Cobol. Sybase Inc. of Dublin, Calif., open-sourced its Watcom Windows IDEs for C++ and Fortran and then dropped out of the developer tools market entirely.

And in February, Borland Software Corp. of Cupertino, Calif.'the last major independent IDE vendor on Windows'announced that it was abandoning the IDE business in favor of application lifecycle management and would sell off its developer tools group. Borland's IDE products are still on the market, but so is Borland's entire IDE business unit.

Ironically, last May, Borland made another announcement about its IDE plans'that the next version of its JBuilder IDE would be based on the open-source Eclipse IDE.

In the Java development world, there's been a similar consolidation'but for slightly different reasons. Eclipse, the open-source IDE born of IBM's Java tool work, has changed the dynamics of the whole Java IDE market.

Lift the covers on most of the major platform vendors' application development suites today, and you'll probably find an open-source IDE underneath'and it's likely to be Eclipse. IBM, BEA Systems Inc. of San Jose, Calif., and SAP America Inc. of Newtown Square, Pa., all use Eclipse as the basis of their Java development products; Nokia uses Eclipse for C and C++ as well as Java.

Of the major application server vendors, only Oracle Corp. and Sun Microsystems Inc. continue to offer their own homegrown IDEs (Oracle is also involved wih the Eclipse community). Oracle now offers its JDeveloper 10g IDE, closely tied to its own application server, as a free download to its customers.

Eclipse has also become the center of gravity for an ever-growing number of other programming languages and other tasks. In fact, Eclipse's framework has become a development platform of its own, hosting an increasingly diverse collection of 'plug-in' applications and features.

The Eclipse IDE was born of donated IBM code in 2001 and was originally overseen by an Eclipse.org 'Board of Stewards' that included most of the major players in open source and Java: Borland, IBM, Merant PLC of St. Albans, England, QNX Software Systems Ltd. of Ottawa, Rational and Red Hat Inc. of Raleigh, N.C., as well as TogetherSoft Corp. and WebGain (which were later acquired by Borland). By the end of 2003, the Eclipse consortium had grown to over 80 members.

In 2004, the Eclipse project was reorganized as the Eclipse Foundation, a nonprofit corporation. The Eclipse Foundation now has more than 100 member companies and has moved well beyond its original Java focus'the foundation is coordinating 10 top-level projects that are developing toolsets for tasks, including Web application development, business intelligence and reporting, C and C++ development, Structured Query Language, application modeling and graphical editing and modeling tools.

Ram Venkataraman, director of product management for JBoss, placed Eclipse adoption among JBoss developers at over 70 percent. But that's at least partially because JBoss, the open-source Java application-server developer recently acquired by Red Hat, has focused its own IDE development efforts on developing plug-ins for the Eclipse environment.

While not as large as the Eclipse community, the Sun-sponsored NetBeans project has developed its own ecosystem of plug-in providers. Sun bases its own Java Studio developer tools on NetBeans. Recently, JBoss joined the NetBeans consortium as well. Venkataraman cited NetBeans' advanced support for Java Enterprise Edition's Enterprise Java Beans 3 as the main reason.

But as Eclipse grows to encompass dynamic programming languages like Python, Ruby, Perl and PHP'the languages that are at the core of much of the current wave of new Web development'it's clear that it will continue to disrupt the world of software development.

Mike Milinkovich, executive director of the Eclipse Foundation, noted that many people have started to talk about there being only two major development platforms'Microsoft's .Net with Visual Studio and Eclipse.

S. Michael Gallagher is an independent technology consultant based in Baltimore.

[Editor's note: This article was modified on July 18, 2006, to clarify the fact that although Oracle Corp. produces its own IDE, it also contributes to the open-source Eclipse project.]

inside gcn

  • Phishing

    Phishing is still a big problem, but users can help shrink it

Reader Comments

Please post your comments here. Comments are moderated, so they may not appear immediately after submitting. We will not post comments that we consider abusive or off-topic.

Please type the letters/numbers you see above

More from 1105 Public Sector Media Group