In 2004 IBM turned over control of Eclipse to the not-for-profit Eclipse Foundation. This group has a paid staff supported by dues from member companies. The founding member companies included Ericsson, HP, IBM, Intel, MontaVista Software, QNX, SAP, and Serena Software. The Eclipse Foundation also sponsors several community conferences including EclipseCon and the Eclipse Summit Europe. There’s a lively online community hosted on the eclipse.org site as well.
Java First
Make no mistake, Eclipse is first and foremost a Java development tool. If you’re looking for a tool to do high-end Java application development, you won’t find a commercial tool with more users or community support than Eclipse. IBM has a huge investment in the Java space, so it only makes sense they would put all their weight behind Eclipse even though it technically isn’t a revenue generating product.
Java application development has many potential targets from mobile devices to desktops to high-end Java 2 Enterprise Edition (J2EE) server environments. Eclipse supports each of those use case scenarios and does it well. For large teams working on enterprise-class applications it really shines. The collaboration tools, integrated source code control, model-based design tools and documentation make Eclipse the perfect choice for any sized team.
A number of J2EE vendors use Eclipse as their default application development tool. IBM’s WebSphere is the most obvious along with the open source JBOSS and BEA Weblogic, now owned by Oracle. The integrated debugging tools and automated deployment help ease some of the pain of building and testing complex enterprise applications
Other Languages
While Eclipse might not have been originally designed with other languages in mind, it does the job quite admirably. The coolest thing about adding additional modules is the way Eclipse accepts a web address and then handles all the downloading and installing for you. Not all add-ins support this method, but many do. Installing the HTML editor, Amateras, requires you to download a zip file and then copy the folder into the Eclipse plugins directory. Restarting Eclipse will then make those features available.
The pydev plug-in adds Python support. Before you run a Python program, you must set the interpreter in the preferences for Pydev. This makes it easy to support multiple versions of Python if you need that capability. The other purpose for setting the interpreter is to determine what features to enable in code completion specific to a particular release of Python.
Developing for the web typically involves a number of different languages and technologies. Project Amateras brings native CSS, HTML and Javascript editing to Eclipse with syntax highlighting, code completion and more. Also a part of Project Amateras are tools for creating UML class and sequence diagrams and database Entity Relationship Diagrams (ERDs). A good article over on the CodeProject site provides a getting started look at doing C++ development for both the Linux and Windows platform with Eclipse.
Source Code Control
No large software development project could ever manage a significant amount of source code without some type of source code control system (SCCS). Eclipse provides native integration with all the mainstream SCCS tools, including CVS and Subversion. There’s a good tutorial on using CVS with Eclipse on the IBM developerWorks site.
Source code for most of Eclipse itself is available through both CVS and SVN clients. The Subversive project is another add-on with the goal of providing seamless SVN integration for Eclipse. It provides all the features of a standard source code tool including check in/ out, differencing, commit, update and revert changes. There’s also the ability to merge changes between sources when necessary.
Installation
Getting up and running with Eclipse shouldn’t be a problem on most major distributions. We installed the latest version on both openSUSE 11.0 and Ubuntu 8.10 (Hardy Heron). For both distributions we used the software package manager to select Eclipse and let the system take care of the rest.
Using the Synaptic Package Manager on Ubuntu we were able to check Pydev and get everything necessary, including the base Eclipse installation, automatically selected for us. The only thing missing was the Java runtime. A few more mouse clicks added the files needed to our set of installation choices and away it went.
Another option for installation is the EasyEclipse project. This site has a number of Eclipse packages for targeted development. For example, there’s the EasyEclipse for LAMP distribution targeted at anyone wanting to develop in PHP, Python, Ruby and Ruby on Rails. There are also distributions for Mobile, Desktop and Server Java development, Plug-in and Eclipse RCP, and specific languages such as Python and C / C++.
Eclipse as an Application Foundation
Not only is Eclipse a tool for developing applications but, it is also a platform on which to base applications. The Eclipse Rich Client Platform (RCP) is essentially the minimal pieces of the Eclipse core functionality and plug-ins needed to build a custom application. If you check out the Eclipse site you’ll find a long list of both open source and commercial applications that have been built on top of the Eclipse RCP.
If you go to the Eclipse plugin site and check out the plugins available under the category of Rich Client Applications, you’ll find 63 entries. Selections include things like the Nomad Personal Information Manager--a free and extendible tool for tracking personal data with modules for notes, schedule, contacts, money, diary, and time tracking. The total number of plugins in all categories stands at 1,062 as of this writing.
Where to Start
Looking at Eclipse for the first time can be rather intimidating. The project is huge and offers so many different options, it’s hard to know which one to choose for the task you need to accomplish. Fortunately the eclipse.org site is well organized and can hopefully get you pointed in the right direction.

