(www.eclipse.org)

This is an unfortunately not quite up-to-date description based on a presentation by Heiko Sommer.

Download

http://www.eclipse.org/downloads/index.php ; for faster/cheaper downloads, you find 2.01 versions of Eclipse at http://www.eso.org/projects/alma/develop/alma-se/downloads/.

What is it, and who's involved?

From http://www.fawcette.com/javapro/2002_08/magazine/departments/inbrief/default_pf.asp:

The Eclipse Project, an effort led by IBM and a dozen application development vendors to create an open source, Java-based, visual application development environment, has picked up three more members and some momentum. The Eclipse community has added Fujitsu, Serena Software, and Sybase to its family, which already consists of IBM, Borland, MERANT, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft, and WebGain.

The project is dedicated to providing an open source framework for building Java application tools. It provides a complete Java development workbench and underlying technologies for building your own visual tool editor. Code from the latest project—the Graphical Editor Framework (GEF) Project—is already being used. One group is building an HTML editor, another is creating an XML editor that shows the interconnections between data fields, and a third project is using the GEF code for a SQL editing tool. "Individual users probably won't want to build their own tools but there are a lot of tool vendors who see the value of converging on a shared, open source platform," said Mark Erickson, manager for communications with Eclipse. "Each partner company sees an advantage to making their specialty a plug-in to the Eclipse platform." Rational has made its Rose modeling tool a plug-in for Eclipse, and MERANT will make its PVCS tools a plug-in for Eclipse as well. IBM has donated the bulk of the code, most of which is currently used in WebSphere Studio Application Developer tool suite. Eclipse was written in Java for two reasons: Java is portable and its object model made it easier to add objects. The first release of Eclipse was only on Windows and Linux, but the 2.0 version will support Solaris, HP/UX, and Macintosh OS X.

At http://www.internetwk.com/story/INW20020820S0009 there is another article about Eclipse, more looking at business strategies.

IBM will use Eclipse as the basis for the new "WebSphere Studio Application Developer", which is the successor of Visual Age.
Actually, Eclipse is not really an IDE as we know them, but an open platform for building IDEs, that happens to be delivered with plug-ins for Java (JDT), C++ (CDT, see http://www.eclipse.org/tools/index.html) and other languages.

Eclipse itself is written in Java, with a specialized graphical library (SWT Standard Widget Toolkit, see articles part1, part2) instead of using Swing or AWT. An article at http://www.infoworld.com/articles/pl/xml/02/06/17/020617pleclipse.xml looks at the tensions between Sun and IBM about these matters.


What other plug-ins are there?

http://eclipse-plugins.2y.net/eclipse/plugins.jsp lists a lot of them;
also search for "eclipse" at http://sourceforge.net/search/.

GUI builders:

 

Some highlights (Java)

Besides the general advantage of having one IDE that integrates many tools, Eclipse has the following strong points as a Java IDE:

Code assistance

Eclipse keeps an internal tree representation of any Java files in the project, allowing for very powerful smart search and code generation features (generates mandatory methods, try/catch blocks, imports, ...).

Refactoring support

Name
Function
Keyboard Shortcut
Undo
Does an Undo of the last refactoring. The refactoring undo buffer is only valid as long as no other source changes than refactoring have been performed.
Ctrl + Shift + Z
Redo
Does a Redo of the last undone refactoring. The refactoring undo/redo buffer is only valid as long as no other source changes than refactoring have been performed.
Ctrl + Shift + Y
Rename
Starts the Rename refactoring wizard:  Renames the selected element and (if enabled) corrects all references to the elements (also in other files). Is available on methods, fields, types, compilation units, packages, source folders, projects and on a text selection resolving to one of these element types. 
 
Move
Starts the Move refactoring wizard: Moves the selected elements and (if enabled) corrects all references to the elements (also in other files). Can be applied on one or more static methods, static fields, types, compilation units, packages, source folders and projects and on a text selection resolving to one of these element types. 
 
Pull Up
Starts the Pull Up refactoring wizard: Moves a field or method to its super class. Can be applied on one or more methods and fields from the same type or on a text selection resolving to a field or method. 
 
Modifiy Parameters Starts the Modify Parameters refactoring wizard. Changes parameter names and parameter order and updates all references to the corresponding method. Can be applied on methods with parameters or on text selection resolving to a method with parameters.   
Extract Method Starts the Extract Method refactoring wizard. Creates a new method containing the statements or expression currently selected and replaces the selection with a reference to the new method. You can use Expand Selection to from the Edit menu to get a valid selection range.
This feature is useful for cleaning up lengthy, cluttered, or overly-complicated methods. 
 
Extract Variable Starts the Extract Variable refactoring wizard. Creates a new variable assigned to the expression currently selected and replaces the selection with a reference to the new variable. You can use Expand Selection to from the Edit menu to get a valid selection range.  
Inline Local Variable Starts the Inline Local Variable refactoring wizard. Replaces the references to the selected local variable with the variable's initializer expression and removes the variable.  
Self Encapsulate Field Starts the Self Encapsulate Field refactoring wizard. Replaces all references to a field with getting and setting methods. Is applicable to a selected field or a text selection resolving to a field.  

 

Some pitfalls

Other resources

Getting involved

Want to contribute to the Eclipse open source project? Go to http://www.eclipse.org/eclipse/index.html. Or check out http://www.eclipse-workbench.com.