科技: 人物 企业 技术 IT业 TMT
科普: 自然 科学 科幻 宇宙 科学家
通信: 历史 技术 手机 词典 3G馆
索引: 分类 推荐 专题 热点 排行榜
互联网: 广告 营销 政务 游戏 google
新媒体: 社交 博客 学者 人物 传播学
新思想: 网站 新书 新知 新词 思想家
图书馆: 文化 商业 管理 经济 期刊
网络文化: 社会 红人 黑客 治理 亚文化
创业百科: VC 词典 指南 案例 创业史
前沿科技: 清洁 绿色 纳米 生物 环保
知识产权: 盗版 共享 学人 法规 著作
用户名: 密码: 注册 忘记密码?
    创建新词条
科技百科
  • 人气指数: 9603 次
  • 编辑次数: 2 次 历史版本
  • 更新时间: 2009-06-09
明天
明天
发短消息
明天
明天
发短消息
相关词条
戴夫·海厄特
戴夫·海厄特
最佳编程语录大全
最佳编程语录大全
程序员笑话大全
程序员笑话大全
下一代程序员
下一代程序员
女程序员
女程序员
彼得·诺维格
彼得·诺维格
Russ Cox
Russ Cox
15名程序员界性感的奇葩
15名程序员界性感的奇葩
Mike Kruzeniski
Mike Kruzeniski
Jeff Fong
Jeff Fong
推荐词条
希拉里二度竞选
希拉里二度竞选
《互联网百科系列》
《互联网百科系列》
《黑客百科》
《黑客百科》
《网络舆情百科》
《网络舆情百科》
《网络治理百科》
《网络治理百科》
《硅谷百科》
《硅谷百科》
2017年特斯拉
2017年特斯拉
MIT黑客全纪录
MIT黑客全纪录
桑达尔·皮查伊
桑达尔·皮查伊
阿里双十一成交额
阿里双十一成交额
最新词条

热门标签

微博侠 数字营销2011年度总结 政务微博元年 2011微博十大事件 美国十大创业孵化器 盘点美国导师型创业孵化器 盘点导师型创业孵化器 TechStars 智能电视大战前夜 竞争型国企 公益型国企 2011央视经济年度人物 Rhianna Pratchett 莱恩娜·普莱契 Zynga与Facebook关系 Zynga盈利危机 2010年手机社交游戏行业分析报告 游戏奖励 主流手机游戏公司运营表现 主流手机游戏公司运营对比数据 创建游戏原型 正反馈现象 易用性设计增强游戏体验 易用性设计 《The Sims Social》社交亮 心理生理学与游戏 Kixeye Storm8 Storm8公司 女性玩家营销策略 休闲游戏的创新性 游戏运营的数据分析 社交游戏分析学常见术语 游戏运营数据解析 iPad风行美国校园 iPad终结传统教科书 游戏平衡性 成长类型及情感元素 鸿蒙国际 云骗钱 2011年政务微博报告 《2011年政务微博报告》 方正产业图谱 方正改制考 通信企业属公益型国企 善用玩家作弊行为 手机游戏传播 每用户平均收入 ARPU值 ARPU 游戏授权三面观 游戏设计所运用的化学原理 iOS应用人性化界面设计原则 硬核游戏 硬核社交游戏 生物测量法研究玩家 全球移动用户 用户研究三部曲 Tagged转型故事 Tagged Instagram火爆的3大原因 全球第四大社交网络Badoo Badoo 2011年最迅猛的20大创业公司 病毒式传播功能支持的游戏设计 病毒式传播功能 美国社交游戏虚拟商品收益 Flipboard改变阅读 盘点10大最难iPhone游戏 移动应用设计7大主流趋势 成功的设计文件十个要点 游戏设计文件 应用内置付费功能 内置付费功能 IAP功能 IAP IAP模式 游戏易用性测试 生理心理游戏评估 游戏化游戏 全美社交游戏规模 美国社交游戏市场 全球平板电脑出货量 Facebook虚拟商品收益 Facebook全球广告营收 Facebook广告营收 失败游戏设计的数宗罪名 休闲游戏设计要点 玩游戏可提高认知能力 玩游戏与认知能力 全球游戏广告 独立开发者提高工作效率的100个要点 Facebook亚洲用户 免费游戏的10种创收模式 人类大脑可下载 2012年最值得期待的20位硅谷企业家 做空中概股的幕后黑手 做空中概股幕后黑手 苹果2013营收 Playfish社交游戏架构

Joshua Bloch,是Google公司的首席Java架构师。是Jolt大奖的获得者。他曾是Sun公司的杰出工程师,和Transarc公司的高级系统设计师。Bloch曾带领团队设计和实现过无数的Java平台特性,包括JDK 5.0语言增强版和获奖的Java Collections Framework。他的著作还包括:《Java Puzzlers》、《Java Concurrency in Practive》等。

目录

[显示全部]

个人简介编辑本段回目录

是Google的首席工程师,以及获得过Jolt最畅销奖的《高效Java编程语言指南(Effective Java Programming Language Guide)》(Addson-Wesley,2001)一书的作者。

(图)Joshua BlochJoshua Bloch

他之前是Sun Microsystems的杰出工程师和Transarc的资深系统设计师。Josh领导了大量的Java平台特性的设计与实现工作,包括JDK 5.0中的语言增强和获奖的Java集合框架。他拥有卡耐基.梅隆大学计算机科学的博士学位。 NEAL GAFTER是Google的软件工程师和Java的传道者。他之前是Sun Microsystems的资深员工工程师,在那里他领导了Java编译器的开发工作,并且通过5.0版实现了1.4版中的Java语言特性。Neal曾经是C++标准委员会的成员,他在Sun Microsystems、Microtec Research和Texas Instruments时领导了C和C++编译器的开发工作。他拥有罗彻斯特大学计算机科学的博士学位。

(图)Joshua BlochJoshua Bloch

Joshua J. Bloch is a software engineer, currently Chief Java Architect at Google, and a technology author. He led the design and implementation of numerous Java platform features, including the Java Collections Framework, the java.math package, and the assert mechanism.[1] He is the author of the programming guide Effective Java, which won the 2001 Jolt Award[2], and is a co-author of two other Java books, Java Puzzlers (2005) and Java Concurrency In Practice (2006).

Bloch holds a B.S. in Computer Science from Columbia University and a Ph.D. in Computer Science from Carnegie Mellon University.[1] His 1990 thesis was titled A Practical Approach to Replication of Abstract Data Objects[3] and was nominated for the ACM Distinguished Doctoral Dissertation Award.[4]

Bloch has worked as a Senior Systems Designer at Transarc, and later as a Distinguished Engineer at Sun Microsystems. In June 2004 he left Sun and became Chief Java Architect at Google.[5]

In December 2004, Java Developer's Journal included Bloch in its list of the "Top 40 Software People in the World".[6]

Bloch has proposed the extension of the Java programming language with two features: Concise Instance Creation Expressions (CICE) (coproposed with Bob Lee and Doug Lea) and Automatic Resource Management (ARM) blocks. The combination of CICE and ARM form one of the three main proposals for adding support for closures to Java.

图书目录编辑本段回目录

Effective Java: Programming Language Guide, ISBN 0201310058, 2001; second edition: ISBN 978-0-321-35668-0, 2008
Java Puzzlers: Traps, Pitfalls, and Corner Cases, ISBN 032133678X, 2005 (co-authored with Neal Gafter)
Java Concurrency in Practice, ISBN 0321349601, 2006 (co-authored with Brian Goetz, Tim Peierls, Joseph Bowbeer, David Holmes, and Doug Lea)

Java十大人物系列Joshua Bloch 编辑本段回目录

早在1996年,适逢Java刚刚崭露头角,年内好事连连。先是1月份发布JDK 1.0,然后是5月底在旧金山召开首届JavaOne大会,年末又是JDK 1.1紧跟其后。正是在Java技术如火如荼、大展拳脚的背景之下,Joshua Bloch来到了Sun,开始了他带领Java社区步入“迦南美地”的漫长历程。

(图)Joshua BlochJoshua Bloch

很快,他被从安全组调入核心平台组,从事底层API设计。至此以后,每逢JDK的重大版本发布,总能在其中见到Joshua的“妙笔”。JDK 1.1中的java.math、1.4中的assertions,还有大家所熟识的Collections Framework皆是Joshua一手打造。其中的Collections Framework还获得了当年的Jolt大奖。到了J2SE 5.0研发阶段,身为平台组构架师的Joshua接掌了Tiger大旗,其核心地位已然无人可以替代。作为Tiger的代言人和领路人,没有谁比Joshua更清楚Tiger。相信大家一定还记得Joshua当年仿效英国诗人William Blake所做的咏Tiger诗八首,优雅的笔调,透出大师深厚底蕴的同时,也道出了Tiger的几大重要特性,这些特性是自JDK 1.1引入Inner Class以来,Java最大的语法改进。

Java风雨十年,从JDK 1.1到J2SE 5.0,Joshua实在功不可没。难怪有人戏言,假如将James Gosling比作Java之父,那么Joshua就是一手将Java “哺育”成人的Java之母。Joshua对Java的贡献还不止于JDK,提起他的大作《Effective Java》(Addison Wesley, 2001),相信Java粉丝们一定耳熟能详。

(图)Joshua BlochJoshua Bloch

该书荣膺2002年度Jolt大奖,且备受James Gosling推崇。书中57条颇具实用价值的经验规则,来自Joshua多年来在JDK开发工作中,尤其是Collections Framework设计中的实践心得,各个有理有据,剖析深入,也足见其深厚功力。该书对Java社群的影响,犹如C++社群中的《Effective C++》。Joshua对JCP的贡献也不小。他是JSR201和JSR175的领导者,前者包含了Tiger四大语言特性,后者则为Java提供了元数据支持。此外,他还是JSR166的发起人之一(该JSR由Doug Lea领导),并且是许多其他JSR的参与者。Joshua目前是JCP为数不多的几个执行委员会成员之一。

(图)Joshua BlochJoshua Bloch

Joshua Bloch给人的印象是谦逊平和,行事低调而不喜抛头露面,一个典型的技术人员和实干家。不过即便如此,也丝毫不会减弱他对Java技术的卓越贡献和对Java社区的绝对影响力。有人说,如果他能更彰显一些,就很有可能成为Java开发者中的领军人物,就有如Don Box之于微软社群。

2004年7月初,就在Tiger发布在即之时,就在Jusha Bloch刚刚荣获Sun“杰出工程师(Distinguished Engineer)”的称号之时,他突然离开Sun而去了正值发展态势迅猛的Google。当他离开Sun的消息在TSS发布之后,众多拥趸表达了怀念与不舍之情。一年过去了,我们还没有获知Joshua的任何近闻,似乎又是他行事低调的一贯作风所致,不知他在Google状况如何。希望Joshua依然能继续“摩西未尽的事业”,以他的影响力推动Java社群继续前行。据称,《Effective Java》的下一版会加入Java 5.0的部分,让我们翘首以待吧。 

《Effective Java》: Joshua Bloch访谈编辑本段回目录

Bloch的《Effective Java》第二版了。Bloch: 我增加了两章。一章是关于泛型,另一章是关于Enum与Annotation;还增加了一些讲述Java5中新增的语言特性最佳实践的条目。我将Threads一章的标题修改为Concurrency,并且针对java.util.concurrent重写了该章。

(图)签名售书签名售书

 The most anticipated book among Java developers over the past few years has been the second edition of Effective Java by Joshua Bloch. The book was finally launched during JavaONE this year. I caught up with Josh and discussed the book, the changes in industry since the last edition and his thoughts on closures.
  在最近几年来,Java开发者最期待的技术书籍莫过于Joshua Bloch的《Effective Java》第二版了。该书在今年的JavaOne大会上正式发布。我(注:指James Sugrue)对Josh进行了采访,我们谈到了这本书,自从上一版以来业界发生的变化以及他对闭包的看法。

(图)Joshua BlochJoshua Bloch

  James Sugrue: The book was made available at JavaONE. Did you do any technical sessions to coincide with the release?
  James Sugrue: 这本书是在JavaOne大会上发布的,你是否做了一些技术讲座以配合这个发布?
  Joshua Bloch: I did two sessions. On was directly related to the book. It was called "More Effective Java." It was largely devoted to enum types (Items 30-34, 77), but also included a mnemonic for the use of bounded wildcard types (Item 28) and a guide to lazy initialization (Item 71).
  Joshua Bloch: 我有两个讲座。一个与这本书直接相关,叫做"More Effective Java"。主要是关于枚举类型(条目 30-34, 77),以及一些关于如何使用通配符(条目 28)。还有一个关于延迟初始化的讲座。(条目 71)

  Sugrue: What changes have been added to bring to book up to date?
  Sugrue: 在该书的新版中有那些变化?

(图)英文版封面英文版封面

  Bloch: I added two chapters, one on Generics, and another on Enums and Annotations. Also I added items describing best practices for each of the new language features in Java 5 (for-each loop, autoboxing, varargs, static import). I changed the title of the Threads chapter to Concurrency and rewrote it to reflect programming in the java.util.concurrent era (where the basic abstractions are tasks and executors, rather than threads, wait and notify). There's a table on page 1 that points you to all of this material.

In addition to adding material on features that were added to the platform since the first edition of the book, I added items or modified existing ones to reflect the evolution of best practices. For example, I added an item describing the Builder pattern (Item 2), and one describing the Serialization Proxy pattern (Item 78). I went over every line of every item, and did my best to make sure they were up to date.

(图)Joshua Bloch(中)Joshua Bloch(中)

  Bloch: 我增加了两章。一章是关于泛型,另一章是关于Enum与Annotation;还增加了一些讲述Java5中新增的语言特性最佳实践的条目。我将Threads一章的标题修改为Concurrency,并且针对java.util.concurrent重写了该章。在该书的第一页有一个列表指出了这些变化。
  除了自该书第一版以来Java平台上新添的特性以外,我还增加或修改了一些条目以反映最佳实践的演化。譬如,我增加了一个讲述Builder模式的条目(条目 2)以及一个讲述Serialization Proxy模式的条目(条目 78)。我仔细检查了书里面的每一条的每一行,尽我最大的努力确保它们反映出当前最新的变化。

  Sugrue: Is it fair to consider this as a whole new book?
  Sugrue: 我们是否可以把它看做全新的一本书?

(图)Joshua BlochJoshua Bloch

  Bloch: No! I did my best not to change the character of the work. I hope it feels like an old friend to readers of the first edition.
  Bloch: 不,恰恰相反。我尽量不改变这本书的整体感官,我希望第一版的读者看到该书时就像遇到了老朋友。

  Sugrue: Since the first book in 2001, what key changes have you observed in Java development?
  Sugrue: 自从2001年发布该书的第一版以来,你认为在Java开发领域有那些关键性的变化?
  Bloch: The biggest changes are the rise of modern IDEs, such as Eclipse, IntelliJ, and NetBeans, and static analysis tools, such as FindBugs. Agile techniques, which were just making inroads in 2001, have become mainstream.
  Bloch: 最大的变化是现代IDE的增长,例如Eclipse、IntelliJ以及Netbeans。还有静态分析工具,如FindBugs。敏捷技术在2001年的时候才刚刚起步,而现在已经成为主流。

(图)中文版封面中文版封面

  Sugrue: Effective Java is seen as one of the most important books for Java. Considering it's popularity, were you wary of making any changes to such a well established book?
  Bloch: Very much so. That's why I tried so hard not to change the character of the book. Of course I had to cover all of the new material, and I had to critically examine everything I said in the first edition. But I did everything in my power to make sure that nothing got hurt in the process. I hope I succeeded, but I won't know for sure until I've heard from readers of the second edition.

  Sugrue: Every developer should read this book - but some might not be able to make time. For those, if you were to promote just one message from the book what would it be?
  Sugrue: 每一个Java开发者都应该阅读这本书,但可能有一些人。对于这些人,你能否简单介绍一下你这本书的主旨?
  Bloch: I was asked the same question the very first time I was interviewed about Effective Java, back in June 2001. This is what I replied: Always strive to write simple, clear, and correct programs. It is penny wise and pound foolish to do otherwise. Style does matter. It pays real dividends in terms of correctness, usability, robustness, and maintainability. Also, it's way more fun to write good programs than bad ones.
  I still believe every word.
  Bloch: 我第一次被采访关于《Effective Java》的时候也被问到了这个问题,那还是2001年。这是我当时的回答:力求写简单、清晰、正确的代码,而不是其它。代码风格很重要,它能在团队中对代码的正确性、可用性、鲁棒性以及可维护性产生实机的效用。同样,写好的代码比差的代码可以带来更多的快乐。

(图)Gosling - Joshua Bloch - Neal Gosling - Joshua Bloch - Neal

  Sugrue: What is the most common fault in Java developers in your opinion?
  Sugrue: 你认为Java开发者普遍易犯的错误是什么?
  Bloch: Like most programmers, we have a natural tendency to optimize our code even when we should know better. Our attempted optimizations don't always make the code run faster. Sometimes they just make it more complicated.
  Bloch: 大多数程序员都有一个自然的倾向,在开始写代码时就试图优化以提高性能。但我们这种企图并不总是有用,甚至在某些时候只会把程序复杂化。

  Sugrue: The book includes hints for class and interface design. In one paragraph, can you describe a guideline for a good design?
  Sugrue: 这本书里有一些关于类与接口设计的建议。你能否简单的讲述一下你对于良好设计的指导准则?
  Bloch: I apologize if this sounds trite, but each class should do one thing, and do it well. There's a great litmus test: can you, in one short, clear noun phrase, describe what an instance of the class represents? If not, you should probably spend more time thinking about the design.
  Bloch: 我讲的东西可能没有什么新意,那就是每一个类只应该做一件事情,并且把它做好。这儿有一个很好的检验方法:你能否用一个简短的、明了的名词短语描述这个类的实例所代表的东西?如果不能,那你可能需要多花一些时间考虑一下你的设计了。

(图)Joshua BlochJoshua Bloch

  Sugrue: Scripting on top of the JVM has become very popular over the past year or so. What do you think of it?

  Bloch: I'm a pragmatist. Often it's the easy way to get things done, and that makes it good. Of course you should write your scripts with all the care that you write your programs, because they'll have to be maintained in parallel with the programs.
  Sugrue: What is your opinion on the inclusion Closures in Java 7?
  Bloch: As readers of the first edition know, I value simplicity and clarity above all else. So it should come as no surprise that I don't want to see anymore major additions to the Java programming language. It's already as complex as a language should be. If Java programmers want to use features that aren't present in the language, I think they're probably best off using another langauge that targets the JVM, such a Scala and Groovy.

  Sugrue: To Java developers your book is seen as a bible. Can you recommend any other books to sit alongside yours on the developer's bookshelf?

  Bloch: Sure. For concurrency, I recommend Java Concurrency in Practice by Goetz, Peierls, et al. For bit twiddling, go with Hacker's Delight, by Henry S. Warren. A couple of classics that only improve with age are Frederic P. Brooks's The Mythical Man Month, and Jon Bentley's Programming Pearls. And every programmer should read Strunk and White's The Elements of Style. Not only will it make you a better writer (which is an important part of being a software engineer) but it will make you a better programmer. Programming and writing have a lot in common: both are about expressing yourself clearly and concisely.

原文地址:Effective Java: An Interview with Joshua Bloch
来自:http://eastsun.javaeye.com/blog/195861 译者:Eastsun

Java脑力体操,Java解惑汇评 编辑本段回目录

英雄所见略同。Joshua Bloch的《Java解惑》(Java Puzzlers)出版后,好评不断。这里是一个汇集:

Amazon自由书评,15×5星,厉害啊。第二条评论最有意思:夫妇俩居然能够拿这本书互相讨论,真是神仙伴侣,艳羡!
资深技术作家Jeff Langr(Agile Java和Essential Java Style的作者,都是好书哦)的推荐。注意,可是放在《设计模式》前面的!
TheRegister网站(这个技术站点你不会不知道吧?) 书评。
Slashdot!知道吗,黑客行话里有一个专门的动词,说什么事情被Slashdot报道了:My book is slashdotted!
又一个重量级的:JavaRanch。不过好像已经转贴到Amazon上了,是第一个评论。
ACM的权威评论。酷吧。
From Duffbert的网志。
新英格兰Java用户组织的书评。

http://blog.csdn.net/turingbook/archive/2006/01/11/576733.aspx

参考文献编辑本段回目录

→如果您认为本词条还有待完善,请 编辑词条

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
0

标签: Joshua Bloch

收藏到: Favorites  

同义词: Joshua J. Bloch

关于本词条的评论 (共0条)发表评论>>

对词条发表评论

评论长度最大为200个字符。