The Most Common Questions About Eclipse: Answered!
- FAQ 1: What is Eclipse?
- FAQ 2: What is the Eclipse Platform?
- FAQ 3: Where did Eclipse come from?
- FAQ 4: What is the Eclipse Foundation?
- FAQ 5: How can my users tell where Eclipse ends and a product starts?
- FAQ 6: What are Eclipse projects and technologies?
- FAQ 7: How do I propose my own project?
- FAQ 8: Who is building commercial products based on Eclipse?
- FAQ 9: What open source projects are based on Eclipse?
- FAQ 10: What academic research projects are based on Eclipse?
- FAQ 11: Who uses Eclipse in the classroom?
- FAQ 12: What is an Eclipse Innovation Grant?
- FAQ 13: What Eclipse newsgroups are available?
- FAQ 14: How do I get access to Eclipse newsgroups?
- FAQ 15: What Eclipse mailing lists are available?
- FAQ 16: What articles on Eclipse have been written?
- FAQ 17: What books have been written on Eclipse?
- FAQ 18: How do I report a bug in Eclipse?
- FAQ 19: How can I search the existing list of bugs in Eclipse?
- FAQ 20: What do I do if my feature request is ignored?
- FAQ 21: Can I get my documentation in PDF form, please?
- FAQ 22: Where do I find documentation for a given extension point?
- FAQ 23: How is Eclipse licensed?
Eclipse has taken the computing industry by storm. The download data for the Eclipse Software Development Kit (SDK) is astounding and a true ecosystem is forming around this new phenomenon. In this chapter we discuss what Eclipse is and who is involved in it and give you a glimpse of how large a community has put its weight behind this innovative technology.
An open source project would be nothing without a supporting community. The Eclipse ecosystem is a thriving one, with many research projects based on Eclipse, commercial products that ship on top of Eclipse, lively discussions in newsgroups and mailing lists, and a long list of articles and books that address the platform. The following pages will give you a roadmap of the community, so that you will feel more at home as you come to wander its winding streets.
FAQ 1: What is Eclipse?
Eclipse means a lot of different things to different people. To some Eclipse is a free, state-of-the-art Java development environment. To others, Eclipse is a flexible environment to experiment with new computer languages or extensions to existing languages. To yet others, Eclipse is a comprehensive framework that deploys many advanced and modern software design and implementation techniques.
Zawinski’s Law: Every program attempts to expand until it can read mail. Those programs that cannot so expand are replaced by ones that can.
—Jamie Zawinski
The official party line is, Eclipse is an open (IDE) platform for anything, and for nothing in particular. Eclipse is open because its design allows for easy extension by third parties. It is an Integrated Development Environment (IDE) because it provides tooling to manage workspaces; to build, launch and debug applications; to share artifacts with a team and to version code; and to easily customize the programming experience. Eclipse is a platform because it is not a finished application per se but is designed to be extended indefinitely with more and more sophisticated tooling. Eclipse is suitable for anything because it has been used successfully to build environments for wide-ranging topics, such as Java development, Web Services, embedded device programming, and game-programming contests. Eclipse has no particular focus on any vertical domain. The dominance of Java development tooling in Eclipse is merely historical. The platform has no explicit or implicit support whatsoever for Java development as provided by the Java development tools (JDT). The JDT has to play according to the same rules as all the other plug-ins that use the platform.
When this book was being written, Eclipse itself could not read mail yet, but, of course, products based on Eclipse do exist that can read mail. That sums it all up.
Speaking more technically, Eclipse is built on a mechanism for discovering, integrating, and running modules called plug-ins. A contributor to Eclipse delivers as one or more plug-ins an offering that manifests itself with a product-specific user interface (UI) in the workbench. Multiple, usually unrelated, products can be installed in one Eclipse instance and happily live and cooperate to perform a certain task. The class of end products includes IDEs, but also so-called rich clients, applications that benefit from the Eclipse Platform design and its components but do not look like an IDE. Examples of the latter category include the latest generation of applications based on IBM Workplace Client Technology, the first of which will be Lotus Workplace Messaging 2.0 and Lotus Workplace Documents 2.0.