Shared publicly  - 
Now I am assisting at a talk on Eclipse 4.x APIs from Eric Moffatt. In Eclipse 3.x, there are four categories of APIs:
- services
- queries
- declarative (extension points)
- operations

The Eclipse 3.x APIs are fragmented, there are several ways to do the same thing. And if you want to obtain some object, you need to drill down to the API you want (PlatformUI.........getActivePage()).

In 2008, the platform team started the e4 project. The APIs of Eclipse 3.x were too complex to maintain. The new Eclipse 4.x platform is based two fundamental mechanisms:
- the UI model
- the EclipseContext hierarchy (for the dependency injection)

In Eclipse 4.x, there is no "internal" API in 4.x, the model structure is the API and dependency injection replaces the listeners. The API of Eclipse 4.2 are not finals.
Add a comment...