Geek Time with Josh Bloch(Josh Bloch访谈录) 





In addition to being known as “The Mother of Java,” Josh Bloch is also the Chief Java Architect at Google. Josh sat down with fellow Open Source Programs Office colleague Jeremy Allison to chat about APIs, the importance of openness, and the successes and failures of Java.

“Java之母”Josh Bloch目前是Google的首席Java架构师(之母,汗囧… 不过之父现在也去了Google)。Josh日前接受了Google开源计划办公室的同事Jeremy的采访,就APIs设计,开放的重要性和Java成功与不足之处等问题展开亲切友好的会谈…

Some highlights from their conversation(对话中的亮点):

(0:45) Josh describes what he does for Java and at Google.(Josh描述了他之前关于Java的工作和现在Google的工作)
(1:59) Jeremy expresses his disappointments with Java, based on the early potential that it showed. Josh responds with an explanation of some of the difficulties that Java faced.(Jeremy表达了对Java的失望之情,觉得它没能达到早期潜力显示出来的高度。Josh回应,解释了一些Java面临的困难。)
(4:48) Josh and Jeremy talk about some of the factors that contributed to Java’s successes.(Josh和Jeremy讨论了一些Java成功的因素)
(9:51) Josh’s explains his philosophy towards creating APIs.(Josh解释了他设计APIs的哲学)
(14:30) Josh talks about the APIs that he’s most proud of.(Josh谈及了他最感自豪的那些APIs)
(19:45) Josh and Jeremy discuss the importance of reading other people’s code, and the impact of Sun’s decision to put the code and bug database for Java on the web.(Josh和Jeremy讨论了阅读别人代码的重要性,Sun决定把Java代码和bug数据库在网上公布的影响。)
(24:00) Josh explains how he came to be in his current position and gives advice for others who are looking for ways to get started programming.(Josh解释了他如何取得目前的成就,并对刚开始学习编程的工程师给出一些建议(编程毁一生,还是赶紧去做点别的什么吧…))
(27:32) Josh wrote the standard Java best-practices guide, Effective Java, and co-authored two other Java books: Java Puzzlers, and Java Concurrency in Practice. As a special treat for this blog’s readers, Josh is offering signed copies of his books for the first two people with correct responses to the following puzzle. Submit your answer as a comment on this post, then use the same Blogger ID to leave a separate comment with your contact info and inscription request (for your privacy, the comment with your contact info will not be published).(Josh是Java编程最佳实践指南Effective Java一书的作者,也是Java Puzzlers和Java Coconrrency in Practive的合著者。为了表示对博客读者的优待,Josh会为能够正确回答下面的谜题的前两位读者提供他的签名书籍。有意者请在评论中提交答案,并使用同样的Blogger ID在另外一个单独的评论中留下联系方式和希望的题词)

Josh’s Puzzle: “The Story of O”(O的故事)

The following Java program is not quite complete; it’s missing a parameter declaration for o. Can you provide a declaration that makes the program print “O noes!”? (The program must compile without generating any warnings.)
下面的Java程序还不完整,方法story中的o参数缺少类型声明,请为o提供类型声明使得程序打印出“O noes!”(程序必须编译通过并且不会产生任何警告 Object…

public class Story {
   public static void main(String[] args) {
       Object o = null;

   private static void story(<you provide the declaration> o) {
       if (o != null)
           System.out.println("O noes!");

Remember to leave your answer and contact info as two separate comments!

By Ellen Ko, Open Source Team