# Glossary of terms

It can be confusing when one person refers to the same thing with different terms, and downright misleading if they refer to different things using the same term. That's why it's important to choose the right words when referring to things in comments, code, and documentation.

Eclipse

> Eclipse is the name for the overall project supporting the construction of integrated tools for developing applications. It represents a collection of related projects that include the Eclipse Platform, the Java development tools (JDT), and the Plug-in Development Environment (PDE).

Eclipse Platform

> Eclipse Platform is the name for the core frameworks and services upon which plug-in extensions are created. It provides the runtime in which plug-ins are loaded and run. In order to use the term with the right degree of (im)precision, it is useful to know some things about the Platform. First off, the Eclipse Platform itself is not really a true product that would ship by itself. The Platform's direct consumers are tool builders, or ISVs, since they add the value to the Eclipse Platform that makes it useful to people.
> The Eclipse Platform is divided up into Core and UI. Anything classified as "UI" needs a window system, whereas things classified as "Core" can run "headless". The UI portion of the Eclipse Platform is known as the Workbench. The core portion of the Eclipse Platform is simply called the Platform Core, or Core.
> So the Eclipse Platform is just the nucleus around which tool builders build tool plug-ins.

Eclipse SDK

> The Eclipse SDK is the Eclipse Platform, JDT, and PDE. In addition to the Platform, the SDK provides the development tools required to, among other things, enable Eclipse to be a development environment for itself.

Platform - Short for "Eclipse Platform".

Rich Client Platform (RCP)

> A subset of the Eclipse Platform that forms a generic application framework, rather than a framework for building development tools. This subset does not contain the Resources plug-in, or any UI relating to resources.

Workbench - Short for "Eclipse Platform UI".

> The Workbench is a high-level UI framework for building products with sophisticated UIs built from pluggable components. The Workbench is built atop JFace, SWT, and the Platform Core.

Core - Short for "Eclipse Platform Core".

> All the UI-free infrastructure of the Eclipse Platform. The major divisions are: platform runtime and plug-in management, workspaces and resource management, and version and configuration management.

Runtime - Short for "Eclipse Platform Core Runtime".

> The lowest level part of the Platform Core, responsible for the plug-in registry and plug-ins. Note that the Platform Core Runtime does not include workspaces and resources (they're in the Resources plug-in).

Workspace

> A workspace is the general umbrella for managing resources in the Eclipse Platform. Note that workspaces and resources are an optional part of the Platform; some configurations of the Platform will not have a workspace.

UI - Short for "Eclipse Platform UI".

> All-inclusive term for the UI portion of the Eclipse Platform.

JFace

> JFace is the mid-level UI framework useful for building complex UI pieces such as property viewers. JFace works in conjunction with SWT.

SWT

> SWT (Standard Widget Toolkit) is a small, fast widget toolkit with a portable API and a native implementation. So far, SWT has been ported to Windows, Linux (GTK and Motif window systems), AIX (Motif), Solaris (GTK), HP-UX (Motif), QNX (Photon) and Mac OS X (Carbon).

JDT

> Java development tools (n.b. "development tools" in lowercase, for legal reasons) adds Java program development capability to the Eclipse Platform.

PDE

> The Plug-in Development Environment adds specialized tools for developing Eclipse plug-ins.