Eclipse has always struck me as a bloated over-architected pile of weird abstractions. Workspaces and perspectives were front and central, while Projects and Edit / Run / Debug features / modalities were implemented in terms of the first-class things the IDE exposed.<p>The implementation details were the primary artefact, the actual developer's experience was very secondary.