The march of IDES
Integrated Development Environments adapt to new complexities, changing times
- By S. Michael Gallagher
- Jul 06, 2006
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.]