Where the code takes the load
How have integrated development environments evolved to meet programmers' needs?
Old product categories never die; they just get consolidated. Unpack the last hot new thing in enterprise computing, and at its heart you will usually find a 'last-generation' technology that everyone thought had been buried on computing's teetering scrapheap.
Such is the case with the integrated development environment or IDE (also known as integrated design environment or integrated debugging environment), the software development tool which - like the word processor and the spreadsheet - has been around for decades, and was one of the first microcomputer applications to define its own market.
Once upon a time, back in the mid-to-late1980s, all of those product categories had a healthy amount of competition. Names like Lotus, Corel (WordPerfect), and MicroPro (Wordstar), all offered word processors of their own. Then, Microsoft ended up owning a large part of the market. In the IDE space, something similar seems to have happened.
The IDE market used to be very crowded. You could pick up small, independent products for everything from LISP to Fortran development, each with their own idiosyncrasies and features. But in the last few years, everything has changed. Now, the IDE market is mainly divided up between Microsoft, sometime persecutor of the open source world, and Eclipse, the open source IDE development platform that was actually created by IBM in 2001.
"The market has really centred around Visual Studio, which exploded from an IDE into a full application management suite," says Alan Zeichick, co-founder of BZ Media, which tracks the IDE market. "And not just because of Microsoft's dominant market power; Microsoft developers really seem to like it."
Zeichick adds that what really turned things around for Redmond was the release of Visual Studio Team Edition. This provides multi-disciplined software development team members with an integrated set of collaborative tools for architecture, design, development, database development, and testing of applications.
That suite took Visual Studio beyond the basic IDE and folded in other aspects of the development cycle, including software modelling and testing. It also made it easier for multiple developers and testers with different roles on a project to work more effectively together.
Folding more functions into Visual Studio made it possible for smaller businesses to move their developers forward in terms of sophistication, says Zeichick; and it made the development path relatively easy for companies who wanted an easy way to make their software development more robust. It also sucked the air out of the Windows IDE market for any other players unfortunate enough to be in the vicinity.
"Anyone else offering an IDE focused on the Windows market has basically died. Some still exist, and have loyal customers; but many just turned into Microsoft partners building add-ons and extensions to Visual Studio to add value," Zeichick explains.
Open frameworks and Microsoft Visual Studio
One factor underpinning the success of products like Visual Studio is in their open framework. Because Microsoft opened up the tool so that others could develop plug-ins for it, it made it relatively easy to grow the scope and power of the product. Now, many vendors are producing add-in products that allow users of the suite to develop in other languages. Whether you want a Fortran, scripting language PHP, or Pascal environment, you can layer it on top of Microsoft's system.
Eclipse, the other main alternative in the IDE space, takes that concept to its logical conclusion. The initiative, which was originally begun by IBM, brought together a host of companies to work on an open source IDE specifically for Java developers. The base IDE is now the foundation of the Eclipse project, but the open source nature of the initiative made it possible for others to create plug-ins for the IDE.
Whereas Microsoft's framework for Visual Studio came from Redmond alone, Eclipse is designed more by consensus. Many different partners participate in the direction of Eclipse, which now consists of 11 top-level projects covering areas such as the core IDE, runtime, modelling, and the Eclipse Technology Project, which handles exploration into new technologies that may be included in Eclipse if they are successful.
"What Eclipse evolved into was a platform for building many tools. We are a tool for almost every real-time operating system on the planet," says Mike Milinkovich, chair of the Eclipse Foundation. Zend, a PHP IDE developer company that previously sold its own proprietary platform, now styles itself as the 'PHP company', and bases its tools on Eclipse, as are others. Adobe has based its Flexbuilder rich Internet application development environment on Eclipse, for example.
The true value of Eclipse was as a vehicle to drive base IDE functionality into the commodity space, freeing up companies to concentrate on more value-added activities, says BZ Media's Alan Zeichick.
"The Eclipse group came together because big companies like IBM don't make money on IDEs," he says. "And so they end up with far better traction if they collaborate with their competitors to build a common set of functions. So they innovate and add their own secret sauce on top of that. That's why IBM started the Foundation and cut it loose as an independent."
Open Services Gateway initiative
However, the organisation has been moving beyond its base IDE functionality for a while now, culminating in the incorporation of the OSGi specification into its basic architecture. OSGi, started in 1999, and formerly known as the Open Services Gateway initiative, is a specification to make software components interoperable. The idea is that software components will be reduced to 'bundles' that can be made to work together across any platform.
This concept represents an alternative to the traditional plug-in system that Eclipse used. More significantly, though, it demonstrates the Foundation's desire to move beyond basic IDE functionality into managing runtimes, which is an altogether different area.
"As we moved into more runtime technologies, we haven't left the IDE space. It's simply that people and companies with skills, code and resources have shown up, and said 'we like the way that Eclipse builds software'," says Milinkovich. According to Zeichick, the runtime contributors are a different set of companies that have come to Eclipse eager to promote the runtime development as part of the Foundation's activities. With the OSGi project, called Equinox, now a top-level project within Eclipse, the concept is at the top of Eclipse's agenda.
Anyone who remembers Microsoft CEO Steve Ballmer's 2001 interview with the Chicago Sun-Times, in which he described Linux as "a cancer that attaches itself in an intellectual property sense to everything it touches", will know how much Microsoft has traditionally loathed the concept. This is, of course, hardly surprising, given the challenge open source's popularity makes to its market dominance.
Now, though, the company is opening up itself somewhat, and is even working with Eclipse. In October 2008, the company announced that it would make the technology behind its Silverlight rich Internet application system available to the Eclipse Community, opening up ports to other platforms. After several years of Eclipse encouraging Microsoft to join the party, this could be a sign that the two IDE giants are finally, gradually, inching towards each other.
Embarcadero's IDE plans
Meanwhile, what about others in the IDE space? There are still some lone players making a good living, says Alan Zeichick of BZ Media. "There are a number of IDEs that are successful in the non-Microsoft space that don't have anything to do with Eclipse - but not many," he reports.
Borland was among the biggest players in the IDE market, but it got out of the business, selling its Codegear software development division to database management tools vendor Embarcadero. Embarcadero inherited mainstay products like JBuilder and Delphi, and has been working to tailor them to add value to its own solutions.
"To be able to bring the high-end database tools into the IDE, and present them in a way that the developer can approach and integrate into their workflow, is very useful," says Michael Swindell, vice president of products at Embarcadero Technologies.
Some smaller independents continue along on their own. JetBrains sells the IntelliJ IDEA Java IDE, and development lead Dmitry Jeremov remains defiant. "Eclipse's overall experience isn't as smooth as it would be with a dedicated product," Jeremov declares, adding that he is concentrating on higher-end 'power' developers. "With IntelliJ we try to provide all the mainstream features in a single package so that you can get support from one source."
That's why products like IntelliJ IDEAS survive. "Anything built by committee is kind of ugly," says Zeichick, who calls IntelliJ very fast and streamlined. "It's a sports car, and still very optimised around the concept of individual activity."
So, JetBrains adds value by making its platform as fast and easy to use as possible. Microsoft and Eclipse both add value by extending their product lines beyond the base IDE, and allowing a wider community to add plug-ins for everything from enforcing coding standards through to software modelling. Embarcadero adds value by honing IDEs to work more effectively with its tools.
Where are IDEs headed next? As things stand, it is something of an open question (no pun intended).
The mighty Microsoft is already racking up features for the next release of its product, Visual Studio 2010. Unveiled for the first time at Microsoft's 2008 Professional Developers Conference, it will be built on the Windows Presentation Framework (WPF), which was developed to produce better looking, more intuitive applications. It will include a black box recorder that documents the state of the machine as part of the software testing process, along with multi-monitor support, and better code visualisation, said the firm.
All of which goes to show that even though the IDE is an old dog, but it can still offer software developers some new tricks. Just like fellow apps stalwart the word processor, it's a necessary tool that will continue to expand with incremental features.
- http://windowsclient.net [new window]
- www.bzmedia.co [new window]
- www.eclipse.org [new window]
- www.embarcadero.com [new window]
- www.jetbrains.com [new window]
- www.microsoft.com [new window]
- www.osgi.org [new window]
- www.zend.com [new window]
IET Technical & Professional Networks
Systems Engineering: - http://kn.theiet.org/communities/systems/index.cfm [new window]
Applications Development - http://kn.theiet.org/communities/application/index.cfm [new window]