Gavin King leads the Ceylon project at Red Hat. Gavin is the creator of Hibernate, a popular object/relational persistence solution for Java, and the Seam Framework, an application framework for enterprise Java. He's contributed to the Java Community Process as JBoss and then Red Hat representative for the EJB and JPA specifications and as lead of the CDI specification.
Gavin now works full time on Ceylon, polishing the language specification, developing the compiler frontend, and thinking about the SDK and future of the platform. He's still a fan of Java, and of other languages, especially Smalltalk, Python, and ML.
You can follow him on G+.
The Web Beans specification defines an XML configuration format that uses XML namespaces to achieve typesafety.
There's been plenty of discussion in the JPA group about my typesafe criteria proposal. My new favorite feature of the Java language is javax.annotation.Processor. Java 6 annotation processors are derived from the APT tool that existed in JDK 5, but are built into javac. Really, the name annotation processor is misleading, since this feature is only incidentally related to annotations. The Processor is really a fairly general purpose compiler plugin. If, like me, you've never been a fan of code generation, now is the time to reconsider. A Java 6 Processor can:
The public draft of the JPA 2.0 specification is already out and includes a much-awaited feature: an API that lets you create queries by calling methods of Java objects, instead of by embedding JPA-QL into strings that are parsed by the JPA implementation. You can learn more about the API proposed by the public draft at Linda's blog.
Over the past few weeks, we've had a number of conversations between the major Java EE vendors regarding the inclusion of Web Beans (JSR-299) in the Java EE 6 platform. Several members of the EE 6 expert group have concerns about how the current draft of the specification characterizes the functionality of Web Beans, and about how well the functionality integrates at the platform level. Therefore, as requested by one of the other vendors, we've extended the Public Review period until early February with the goal of taking further input from folks with platform expertise. The expert group will submit a revised Public Review Draft in late January or February that incorporates this feedback.
I keep getting asked about the relationship between Seam and Web Beans. At a high level, the mission of the Seam project remains unchanged: to provide a fully integrated development platform for building rich Internet applications, based upon the Java EE environment. In Seam2, this platform consists of the following layers:
I want to say something about the Panasonic DMC-LX3. I've never written a camera review before, but I'm so inspired by the fact that finally someone made a compact camera for people who actually know something about photography, that I want to do something to encourage this trend.
Something that's always slightly bemused me is that software development
methodology is something you never seem to hear discussed in organizations whose business is technology. Sure, product companies are certainly very interested in practices and tools to support good practices. (For example, product companies certainly care about testing practices.) But technical practices are kinda orthogonal to methodology debates. And I never hear about a company like Red Hat paying any attention at all to the latest fashions sweeping through the world of
agile consultants and
project managers. In fact, I'd be very interested to hear of a single example of a truly great software product that was developed (at least initially) according to a methodology.