Tuesday June 02, 2009
Joseph D. Darcy's Sun WeblogJoseph D. Darcy's Sun Weblog JavaOne 2009: Project Coin Slides Posted I presented my technical session about Project Coin, titled more verbosely Small Language Changes in JDK™ Release 7, this afternoon at JavaOne. I've posted the slides. Besides discussing the proposals under further consideration, I also went over some of the experiences from JDK 5 and other considerations we take into account when evolving the language. (2009-06-02 18:48:34.0) Permalink Comments [16]JavaOne 2009: Small Language Changes in JDK™ Release 7 My JavaOne 2009 proposal for a talk about Small Language Changes in JDK™ Release 7 was accepted and scheduled for the first day of the conference, 3:20 PM to 4:20 PM on June 2, 2009. Besides discussing experiences evaluating proposals submitted to Project Coin, I plan to include some broader thoughts on Java language evolution, including sharing some informative war stories from back in JDK 5. (2009-04-15 12:32:07.0) Permalink Comments [2]JavaOne: Slides for "Tips and Tricks" available With the call for papers for JavaOne 2009 out, I thought it was high time to belatedly publish the slides for my JavaOne 2008 bof Tips and Tricks for Using Language Features in API Design and Implementation. The session feedback from attendees of my talk was consistent on there being too much material gone over too rapidly. So if I revisit presenting this material in the future, I plan to split the talk in two, one part on kinds of compatibility and another more focused on using language features in API design. To provide some context for the slides, here are some excerpts of the talk. Leading up to JavaOne, I had been thinking a lot about compatibility, both in general terms as well as understanding the compatibility properties of previous API work and possible future changes. Besides being a central constraint on API evolution and general evolution of the JDK, compatibility also turned out to be surprisingly complicated. At some point, I'd like to writeup further thoughts on the acceptable compatibility region in the three-dimensional space of source, binary, and behavioral compatibility. I feel there is considerable unrealized potential to have more commonly used program analysis and checking based on annotation processing, now built into Java SE 6 compilers. For example, I think it would be an interesting programming exercise to write an annotation processor to review the source and binary compatibility impacts of an API change. A much simpler example discussed in the bof is an annotation processor to find methods and constructors that are candidates for conversion to var-args. A few times in my API work, I've seen that apparently conflicting goals can be met simultaneously by combining different language features, such as JSR 269 annotation processors being able to both use annotations to specify return values while still having a well-typed interface. So for those facing similar challenges, persevere! The solution may be just around the corner. The last significant section of the talk is a brief defense of Java generics, a topic worthy of future elaboration. While very complicated in the worst cases, many common use cases are straightforward. Although I find these technical subjects interesting, I expect to be submitting talk proposals on other matters for JavaOne 2009. (2008-12-02 14:45:56.0) PermalinkJavaOne: Writing the next great Java book Catching up post-JavaOne, I was glad to have gone a bit outside my usual core Java SE track sessions on Thursday evening by attending "Writing the Next Great Java™ Technology Book." Moderated by book editor Greg Doench, the panel of distinguished authors, Brian Goetz, Josh Bloch, Kathy Sierra, and Bert Bates, gave advice ranging from why to start writing a book to how to complete one. Below are my recollections of the bof. Brian advised to treat writing a book like running a software release, including version control over the text and code samples, as well as automated building and testing of any code. Brian's quote from Churchill,
certainly rang true for me in scaled down ways for some of the writing and other projects I've done. (I have many partially written blog entries, some over a year old; the toy stage doesn't last very long!) Brian also gave a warning on the scope writing a book: it will take twice as long as you think it will; there is a substantial amount of editing and revising even when the book is seemingly near completion. Josh spoke of the importance of passion for the subject matter and knowing what you want to say. Additionally, he thought it was essential to have a diverse slate of reviewers who were representative of the book's audience; for example, one of the early readers of "Effective Java" was the teenaged son of the Java series editor. Good reviewers need a willingness to let the author know when the book is incorrect or needs improvement. To Josh, Strunk and White remains a model of clarity. He also explained how threats from family members can be a helpful motivation to finish a book! I've read books by Brian and Josh, but I haven't read Kathy and Bert's "Head First Java," which takes a less traditional, more graphical, approach to technical writing. Bert listed a number of books, including What the Best College Teachers Do and Efficiency in Learning, as having important insights to help manage the cognitive load of readers. Kathy only used one slide, but had the audience do several interactive exercises, including staring down our nearest neighbor. (With our forward facing eyes, people are predators; facing down a full room of predators tickles the innate "fight or flight" response :-) She described most technical books as providing an "I suck." experience for the reader, an experience they didn't want to encourage in "Head First." Part of reducing the likelihood of suckage comes from skillfully leaving things out. However, books should strive for a high-resolution experience; in a California-sensitive analogy, many don't regard wine as merely a binary red/white beverage. For Kathy, a goal of a technical books is for the reader's reaction to not be about the author or the book itself, but rather the difference made to the reader. Besides books, I think the panel's advice is useful for other forms of writing too, having strong reviewers and keeping a concern for your reader are broadly applicable, and I'll keep their suggestions in mind for my future blogging. (2008-05-14 22:56:55.0) Permalink Comments [1]In this year's JavaOne pavilion, you can get shirt's printed with your own answer to this year's conference theme posed as a question JAVA + YOU = ? While "JAVAYOU" would be a string-centric programmatic answer, with my floating-point czar hat on, my answer to this summation is "K9K4", which I computed with the following program:
However, I'm confident less numerical answers will be more useful and satisfying in most contexts :-) (2008-05-08 10:00:00.0) PermalinkComing in 2008: Tips and Tricks on Language Features My bof proposal titled Tips and Tricks for Using Language Features in API Design and Implementation for a discussion on how to productively use generics, enums, and annotations was accepted for this year's JavaOne conference in the Java SE track. I'll be drawing on experiences creating and working with various JDK APIs, including JSR 269, and plan to talk on topics ranging from maintaining different kinds of compatibility, to subtleties of using interfaces versus abstract classes, to an analogy between the proper use of generics and the Mandelbrot set. (2008-02-18 09:00:00.0) PermalinkJoe's JavaOne Presentation Archive Here is a webpage I've assembled with links to pdf files for most of the JavaOne bofs and technical sessions I've given over the last six years. (2006-05-24 20:09:54.0) Permalink Comments [1] Slides for Annotation Processing with JSR 269 Here are the slides for Annotation Processing with JSR 269, which other members of the JSR 269 expert group and I presented at JavaOne last week. (2006-05-24 19:48:06.0) Permalink Comments [1] Slides for Generics Best Practices Here are the slides for BOF-0160: Best Practices With Generics and Other Java™ Platform 5.0 Language Features, which Peter and I gave at JavaOne last week. (2006-05-22 15:00:00.0) Permalink Ask an Expert If you want to chat with me about annotation processing, core reflection, numerics, generics, or other language features, I'll be at Sun's "Ask the Experts" area of the Java SE Community booth #723, located near the racetrack, at the following times:
Annotation Processing at JavaOne 2006 This year's JavaOne has a few talks on the uses of annotation processing. Besides, the JSR 269 bof,
Scott and I will also be at Sun's "Ask the Experts" area to answer questions about annotation processing and other topics:
JavaOne 2006 Speaking Schedule JavaOne 2006 is fast approaching! I'll be speaking at a number of bofs this year:
|
Calendar
RSS Feeds
All /Annotation Processing /General /Java /JavaOne /Numerics /OpenJDK SearchLinks
NavigationReferersToday's Page Hits: 1082 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||