I've been very impressed by the growth of the Eclipse IDE (integrated development environment). It is a platform I've been pushing before most developers knew what it was, let alone that they might be using sometime in the future.
Eclipse is now controlled by the independent Eclipse Foundation. It has been adopted by dozens of key tool and operating-system vendors replacing an equal array of development platform products. It has been a boon to the add-on vendors. In the long run, it is going to be great for developers that utilize Eclipse-based tools for two reasons. The first is a consistent platform regardless of the target environment or tools. The second is accessibility to third-party add-on products. Having Eclipse as an application platform is also a benefit for those using Java as a development language.
Its popularity makes it an alternative to two other big players in the market: Sun and Microsoft. Both have reasons to dislike Eclipse. Both have significant investments in popular alternatives including Sun Java Studio and Microsoft Visual Studio. These are not the only three major IDEs out there but the field is narrowing. It is the narrowing of the field that concerns me.
The Good, The Bad, and the Ugly
Narrowing the field does have benefits for developers and vendors as already presented. The bad part comes in the form of limiting choice. None of the development platforms mentioned optimally address all developers needs. That is the cost of generalization. It means that platform-specific tools like the KDevelop platform for KDE (the K Desktop Environment) will continue to exist, but it puts more pressure on more general platforms like Metrowerks Code Warrior or Green Hills Multi to move to a non-proprietary platform like Eclipse.
It also means that new ideas and enhancements to the IDE will be forced to fit within the framework provided by Eclipse. Incremental features are easily added using its plug-in architecture, but a major overhaul will not occur because of the number of dependencies is continually growing. Backward compatibility as well as compatibility with existing plug-ins now becomes a dominating factor.
However, don't take this diatribe to mean that Eclipse is somehow worse off than some of the alternatives. In fact, substitution of Visual Studio for Eclipse in the prior discussion is just as valid a criticism of that platform.
The ugly part is that the bar has been raised significantly for new ideas to enter the development arena. The bar was already high but the rather swift adoption of Eclipse has pushed it up even farther. Much of this was due to IBM moving a rather large and polished platform into the open-source arena.
The IDE discussion will likely subside as developers discover the plug-in architecture of Eclipse. The learning curve will distract most from new ideas since there is an enormous amount of third-party products that need to be plugged into Eclipse.
For anyone interested in developing an IDE from the ground, don't overlook Eclipse. It has two things you can take advantage of. First, Eclipse can be stripped down to its barebones while retaining the plug-in architecture. Second, the Eclipse licensing is definitely more amenable than any proprietary IDE currently available.
Green Hills Software