The march of IDES

 

Connecting state and local government leaders

Integrated development environments have become increasingly complex and encompassing over the past few years. The basics remain the same, but the ways in which applications are built and developers work together has changed significantly.

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.

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.













































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.]
X
This website uses cookies to enhance user experience and to analyze performance and traffic on our website. We also share information about your use of our site with our social media, advertising and analytics partners. Learn More / Do Not Sell My Personal Information
Accept Cookies
X
Cookie Preferences Cookie List

Do Not Sell My Personal Information

When you visit our website, we store cookies on your browser to collect information. The information collected might relate to you, your preferences or your device, and is mostly used to make the site work as you expect it to and to provide a more personalized web experience. However, you can choose not to allow certain types of cookies, which may impact your experience of the site and the services we are able to offer. Click on the different category headings to find out more and change our default settings according to your preference. You cannot opt-out of our First Party Strictly Necessary Cookies as they are deployed in order to ensure the proper functioning of our website (such as prompting the cookie banner and remembering your settings, to log into your account, to redirect you when you log out, etc.). For more information about the First and Third Party Cookies used please follow this link.

Allow All Cookies

Manage Consent Preferences

Strictly Necessary Cookies - Always Active

We do not allow you to opt-out of our certain cookies, as they are necessary to ensure the proper functioning of our website (such as prompting our cookie banner and remembering your privacy choices) and/or to monitor site performance. These cookies are not used in a way that constitutes a “sale” of your data under the CCPA. You can set your browser to block or alert you about these cookies, but some parts of the site will not work as intended if you do so. You can usually find these settings in the Options or Preferences menu of your browser. Visit www.allaboutcookies.org to learn more.

Sale of Personal Data, Targeting & Social Media Cookies

Under the California Consumer Privacy Act, you have the right to opt-out of the sale of your personal information to third parties. These cookies collect information for analytics and to personalize your experience with targeted ads. You may exercise your right to opt out of the sale of personal information by using this toggle switch. If you opt out we will not be able to offer you personalised ads and will not hand over your personal information to any third parties. Additionally, you may contact our legal department for further clarification about your rights as a California consumer by using this Exercise My Rights link

If you have enabled privacy controls on your browser (such as a plugin), we have to take that as a valid request to opt-out. Therefore we would not be able to track your activity through the web. This may affect our ability to personalize ads according to your preferences.

Targeting cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising.

Social media cookies are set by a range of social media services that we have added to the site to enable you to share our content with your friends and networks. They are capable of tracking your browser across other sites and building up a profile of your interests. This may impact the content and messages you see on other websites you visit. If you do not allow these cookies you may not be able to use or see these sharing tools.

If you want to opt out of all of our lead reports and lists, please submit a privacy request at our Do Not Sell page.

Save Settings
Cookie Preferences Cookie List

Cookie List

A cookie is a small piece of data (text file) that a website – when visited by a user – asks your browser to store on your device in order to remember information about you, such as your language preference or login information. Those cookies are set by us and called first-party cookies. We also use third-party cookies – which are cookies from a domain different than the domain of the website you are visiting – for our advertising and marketing efforts. More specifically, we use cookies and other tracking technologies for the following purposes:

Strictly Necessary Cookies

We do not allow you to opt-out of our certain cookies, as they are necessary to ensure the proper functioning of our website (such as prompting our cookie banner and remembering your privacy choices) and/or to monitor site performance. These cookies are not used in a way that constitutes a “sale” of your data under the CCPA. You can set your browser to block or alert you about these cookies, but some parts of the site will not work as intended if you do so. You can usually find these settings in the Options or Preferences menu of your browser. Visit www.allaboutcookies.org to learn more.

Functional Cookies

We do not allow you to opt-out of our certain cookies, as they are necessary to ensure the proper functioning of our website (such as prompting our cookie banner and remembering your privacy choices) and/or to monitor site performance. These cookies are not used in a way that constitutes a “sale” of your data under the CCPA. You can set your browser to block or alert you about these cookies, but some parts of the site will not work as intended if you do so. You can usually find these settings in the Options or Preferences menu of your browser. Visit www.allaboutcookies.org to learn more.

Performance Cookies

We do not allow you to opt-out of our certain cookies, as they are necessary to ensure the proper functioning of our website (such as prompting our cookie banner and remembering your privacy choices) and/or to monitor site performance. These cookies are not used in a way that constitutes a “sale” of your data under the CCPA. You can set your browser to block or alert you about these cookies, but some parts of the site will not work as intended if you do so. You can usually find these settings in the Options or Preferences menu of your browser. Visit www.allaboutcookies.org to learn more.

Sale of Personal Data

We also use cookies to personalize your experience on our websites, including by determining the most relevant content and advertisements to show you, and to monitor site traffic and performance, so that we may improve our websites and your experience. You may opt out of our use of such cookies (and the associated “sale” of your Personal Information) by using this toggle switch. You will still see some advertising, regardless of your selection. Because we do not track you across different devices, browsers and GEMG properties, your selection will take effect only on this browser, this device and this website.

Social Media Cookies

We also use cookies to personalize your experience on our websites, including by determining the most relevant content and advertisements to show you, and to monitor site traffic and performance, so that we may improve our websites and your experience. You may opt out of our use of such cookies (and the associated “sale” of your Personal Information) by using this toggle switch. You will still see some advertising, regardless of your selection. Because we do not track you across different devices, browsers and GEMG properties, your selection will take effect only on this browser, this device and this website.

Targeting Cookies

We also use cookies to personalize your experience on our websites, including by determining the most relevant content and advertisements to show you, and to monitor site traffic and performance, so that we may improve our websites and your experience. You may opt out of our use of such cookies (and the associated “sale” of your Personal Information) by using this toggle switch. You will still see some advertising, regardless of your selection. Because we do not track you across different devices, browsers and GEMG properties, your selection will take effect only on this browser, this device and this website.