Put simply, Guice alleviates the need for factories and the use of new in your Java code. Think of Guice's @Inject as the new new. You will still need to write factories in some cases, but your code will not depend directly on them. Your code will be easier to change, unit test and reuse in other contexts.
Guice embraces Java's type safe nature, especially when it comes to features introduced in Java 5 such as generics and annotations. You might think of Guice as filling in missing features for core Java. Ideally, the language itself would provide most of the same features, but until such a language comes along, we have Guice.
Guice helps you design better APIs, and the Guice API itself sets a good example. Guice is not a kitchen sink. We justify each feature with at least three use cases. When in doubt, we leave it out. We build general functionality which enables you to extend Guice rather than adding every feature to the core framework.
Guice aims to make development and debugging easier and faster, not harder and slower. In that vein, Guice steers clear of surprises and magic. You should be able to understand code with or without tools, though tools can make things even easier. When errors do occur, Guice goes the extra mile to generate helpful messages.
Bob Lee is a Google software engineer in Mountain View, CA. "I code, I write, and I speak. I make babies (one so far). I take pictures." He's the founder of the Guice framework and involved with the Java Web Beans specification (JSR-299).
Joshua Bloch Devoxx Interview— Ted Neward interviews Johshua Bloch during the Devoxx'08 conference. Hear what the differences are between Effective Java edition 1 & 2 or what Josh thinks about Java backwards compatibility and not having closures in JavaSE7 and much more.
Devoxx Keynote Effective Java Reloaded— It has been five years since Effective Java was released. The Java platform has evolved, and we've learned more about how to use it to best effect. This Devoxx keynote covers new material from the Effective Java Reloaded book. This presentation should be very useful to every Java developer.
The Evolution of Java software on GNU Linux— In this talk we'll describe the mechanisms that make GNU/Linux package management scale to thousands of packages and millions of users; show how to create good packages for inclusion in mainstream distributions (regardless of programming language); and share lessons learned from packaging Sun's major Open Source Java projects like OpenJDK, NetBeans and Glassfish.
Mark Reinhold and Alex Buckley Devoxx Interview— Ted Neward interviews both Mark Reinhold and Alex Buckley at Devoxx 2008. During this interview they discuss the future of Java SE 7, the newly announced Jigsaw modularity project and how this might look like for the Java developers. Ted also tried to get more info about a possible schedule for Java SE 7!
From Concurrent to Parallel— This Devoxx talk covers the next steps in evolution of concurrency APIs, looks at how the libraries will evolve to support many-core parallelism using the Java language.