Tuesday, January 22, 2008

In the hot seat

I sat down for an interview with Carl Quinn during Javapolis, and the video is now up on parleys.com. You can also find an audio-only podcast version on the Java Posse's web site. In it, we talk frankly about:
  • The history of and philosophy behind Guice, what problems it solves, how we implemented it, the secret sauce in Guice's stellar performance, and how Guice compares to other approaches.
  • How we in the Java community need to take a step back and rethink API and framework design after Java 5 and 6. Reflection heavy and convention based Java 1.4 designs won't fly for much longer. Readability doesn't necesarily mean fewer characters. Java 5 made static type safety a reality and introduced explicit meta data. Java 6 lowered the barriers to compile time code generation, but good documentation of these new features is still much needed.
  • The future of Guice and dependency injection in general. I'd like to see dependency injection on mobile devices and deeply integrated into Java SE. One day, many of the problems we're solving in a separate framework will be addressed seamlessly by the core platform, and we'll be free of integration headaches and able to focus on higher level abstractions all around.
  • Google Collections, an excellent open source project led by Guice co-lead Kevin Bourrillion. Check it out if you haven't already. Kevin and the rest of the team try to hold the Google Collections to the same standards as the core Java SE Collections, and it shows.
  • Weak vs. soft references, which you should use, and specifically when not to use soft references.

Thanks again goes to Carl and Stephan and the rest of the BeJUG team. Javapolis was one of the most fun, inspiring, community-oriented conferences I've been to in a long time. Getting back and forth between your hotel and the conference was a little tricky at times, but the venue itself absolutely rocked.

3 Comments:

Blogger Jakub Korab said...

Thanks for the link! It's good to know that presentations like this are available especially to these sorts of interviews. I didn't know about the various reference types before, so I did a quick lookup and wrote down a few lines about them.

Outside the caching domain are there any other good use cases for this stuff?

12:44 PM  
Blogger Alessio Pace said...

Hi Bob, you probably already know about the Fractal component model and its JME converter which lets you have source code in plain JSE style (collections, ...) and then it transform your byte code into JME compliant bytecode via the OW2 ASM project.

So, with that you can already have dependency injection on a mobile device.

Of course the two component models have different characteristics and different purposes.

Regards.

12:23 AM  
Blogger David said...

Thanks for creating Guice!!!! I'm thinking of taking a mostly php job soon, and want to use dependency injection there. I've seen sphicey. Do you know of any enterprise grade DI frameworks for PHP?

Thanks!

12:20 AM  

Post a Comment

<< Home