E4: A First Look

I've finally got some cycles to catch up on E4 a bit. The first thing I notice is that in E4, you wind up with a lot of code that looks something like this: (from http://www.vogella.de/articles/EclipseE4/article.html)

public class View1 {
	@Inject
	public View1(Composite parent) {
		Label label = new Label(parent, SWT.NONE);
		label.setText("E4 is new");
		Text text = new Text(parent, SWT.NONE);
		text.setText("and different");
	}
}

The first thing I notice is the dependency injection: there's no explicit dependency on Eclipse anywhere to be seen.

I haven't worked out all the implications of that @Inject annotation, but at first blush this sort of thing would seem to make E4 *much* more testable than previous versions of Eclipse were.

If I'm right, this is pretty huge. It's not exactly a killer feature, but it's very important.

Thoughts?

~~LINKBACK~~ ~~DISCUSSION:closed~~