More Effective Fun with Josh Bloch
By Janice J. Heiss on Oct 29, 2008
Please visit java.sun.com and check out my latest interview with the eminent book author and developer, Josh Bloch, whose Effective Java is out in a revised edition.
I'm thrilled to say that this is my fifth interview with Josh, going back to 2003. The other four and pretty please excuse the shameless plug here are:
2008 JavaOne Conference -- Rock Star Joshua Bloch
2007 JavaOne Conference – Rock Star Joshua Bloch
Seeing Shouldn't Be Believing: Solving Java Puzzlers With Google's Joshua Bloch
New Language Features for Ease of Development in the Java 2 Platform, Standard Edition 1.5: A Conversation with Joshua Bloch
Most folks already know Josh is a brilliant developer and thinker. What strikes me is how much fun he is to work with -- he seems to carry a spirit of joy, playfulness, and passion wherever he goes. As he says in the interview, "Computer science is an immature discipline, and I aim to keep it that way."
When he defended his Ph.D. dissertation at Carnegie Mellon, which was open to the public, he planted a long technical question with his mother that he answered flawlessly after saying, "Awww Mom!" He responded to another planted question with a rap song, complete with recorded rhythm track played on a boom box concealed under a desk.
He exemplifies a spirit of adventurous good will that seems common to developers. We've come a long way from the days when all IBM employees were required to wear coats and ties.
For his "Java Puzzlers" presentation at JavaOne, he and co-author Neal Gabler dressed up as mechanics and called themselves "Click and Hack, the Type-It Brothers," modeled after the NPR "Car Talk" radio show. What fun!
While still at Sun, when J2SE 5.0 was coming out was still known as "Tiger," Josh wrote a poem based on William Blake's "Tyger Tyger Burning Bright" that included the following stanza:
"While Iterators have their uses
They sometimes strangle us like nooses
With enhanced-for's deadly ray
Iterator's kept at bay"
Hey, developers just want to have fun!
I find that he likes offbeat questions and enjoys thinking of things he has never thought of before. So when I asked what was strangest about the Java platform, he appreciated the question and remarked how strange it is that the byte type is signed. "I've never heard an explanation for this," he said. "It's quite counterintuitive and causes all sorts of errors."
In the interview, he informs readers:
\* His favorite programming rules (for the day at least): "Minimize the accessibility of classes and members" and "Minimize mutability".
\* When to break his rules.
\* What he learned about the Java platform from the perspective of a user working at Google.
\* How generics have worked out.
\* Why Java developers mistakenly optimize code.
\* Why Java developers fail to use libraries -- especially when they need concurrency utilities.
\* The importance of unit tests.
Would love it if you would check out the QA and tell me if you agree with Josh on the points above and why or why not. And more...