首页 > 代码库 > Java牛人

Java牛人

Java领域有很多著名的人物,他们为Java社区编写框架、产品、工具或撰写书籍改变了Java编程的方式。本文是《最受欢迎的8位Java牛人》的2.0版本。

PS:排名不分先后。本文的信息整理自网络博客,信息的真实性未经过严格筛选和确认。

1、James Duncan Davidson —— Tomcat 、 Ant

 

他曾是一名软件工程师,现在是一名摄影师。

  • 1970年7月29日,James Duncan Davidson出生于德州Lubbock。
  • 1997至2001年,Davidson担任Sun Microsystems公司软件工程师期间,创建了Tomcat和Ant。前者是一个基于Java的网络服务器应用程序,后者是一个基于Java的构建工具。
  • 2005至2006年,Davidson将他的编程兴趣和注意力转向了Ruby on Rails。 在与著名的Rails大师Mike Clark的合作中,Davidson创建了一些鲁棒性很好的复杂Rails早期应用程序。
  • 2005年起,Duncan又多了一项职业——摄影。他曾担任多个著名科技会议的主要摄影师。他与Greg Koenig联合创办并共同拥有位于俄勒冈州波特兰市的小型公司Luma Labs。这家公司专注于制造高质量的照相机配件。

相关链接

  1. James Duncan Davidson Twitter
  2. James Duncan Davidson Wiki
  3. James Duncan Davidson个人博客
  4. Apache Ant
  5. Apache Tomcat

2、Kent Beck —— 设计模式、极限编程、测试驱动开发、JUnit

 

Kent Beck 一名美国的软件工程师。他总结和创建了很多软件设计领域概念:
  • 1979年至1987年,Kent Beck 在俄勒冈大学获得计算机科学学士和硕士学位。
  • 他是极限编程(Extreme Programming)和测试驱动开发(Test Driven Development)方法(或称为敏捷软件开发)的创建者。
  • 他首创了软件设计模式(Design Pattern),重新发掘了测试驱动开发,并开发了SmallTalk的商业应用。
  • 他是2001年最初签署《Agile Manifesto》的17人之一,和Ward Cunningham一起普及了CRC卡片方法。
  • 他与Erich Gamma一起创建了JUnit 单元测试框架。

相关链接

  1. Kent Beck Twitter
  2. Kent Beck Wiki
  3. Kent Beck博客
  4. JUnit测试框架
  5. 极限编程Wiki
  6. 测试驱动开发Wiki

新闻和访谈

  1. Kent Beck: “我认为我们是在飞机上编程”
  2. 采访Kent Beck和Martin Fowler
  3. 与Kent Beck谈极限编程

Kent Beck著作

  1. Extreme Programming Explained: Embrace Change (2nd Edition)
  2. Refactoring: Improving the Design of Existing Code
  3. JUnit Pocket Guide

3、Joshua Bloch——Collections框架

 

Joshua J. Bloch是一名软件工程师,生于1961年8月28日。他领导了众多Java平台特性的设计和实现,其中包括Java Collection框架、java.math包以及assert机制。

Bloch曾建议扩展Java编程语言,增加两个新特性:

  • 简明实例创建表达式(Concise Instance Creation Expressions — CICE)(与Bob Lee和Doug Lea共同建议)
  • 自动资源管理(Automatic Resource Management — ARM)。
  • 两者的组合形成了“支持Java闭包”的三个早期建议之一。

ARM特性已经加入JDK7,而Bloch依然活跃在当前”在Java中支持闭包“的建议讨论中。

他的主要成就和经历如下:

  • 2001年,他的《Effective Java》获得Jolt大奖。
  • 他曾经担任Transarc公司高级系统设计师,后来担任Sun公司杰出工程师。
  • 2004年6月,他离开Sun公司加盟谷歌,成为谷歌首席Java架构师。
  • 2004年12月,《Java 开发者杂志》将Bloch列为”全球顶尖的40位软件开发者”之一。
  • 2012年8月3日,Bloch宣布将离开谷歌。

相关链接

  1. Joshua Bloch Twitter
  2. Joshua Bloch Wiki

新闻和访谈

  1. Effective Java: Joshua Bloch访谈
  2. 超级明星Josh Bloch

Joshua Bloch著作

  1. Effective Java (2nd Edition)
  2. Java Concurrency in Practice
  3. Java Puzzlers(2005)

4、Marc Fleury —— JBoss

 

  • Marc Fleury 于2001年创建了JBoss。JBoss是一个开源Java应用程序服务器,是部署Java Web应用程序的事实标准。
  • Marc的研究兴趣主要集中在中间件。他于1999年启动了JBoss项目,并于2001年在佐治亚州的亚特兰大成立了JBoss Group有限责任公司。
  • 在将公司出售给Red Hat之后, Fleury成为了Red Hat JBoss 部门的高级副董事兼总经理。然而,Fleury从2007年1月开始休“陪产假”。计划到2007年3月15日结束,但是他即将离开Red Hat的谣言四起。
  • 2007年2月9日,他离开Red Hat的消息公之于众:“Fleury已经决定离开Red Hat,去追求其他的个人爱好,比如教书、生物研究、音乐和陪伴家庭。

相关链接

  1. Marc Fleury Wiki
  2. Marc Fleury博客
  3. JBoss应用服务器

新闻和访谈

  1. Red Hat会失去JBoss创始人吗?
  2. JBoss创始人Marc Fleury离开Red Hat,现在该怎么办?
  3. JBoss’s Marc Fleury在SOA、ESB和OSS
  4. 复活Marc Fleury

5、Craig Mcclanahan —— Struts

 

  • Craig R McClanahan 是一名程序员,也是流行的开源MVC架构Struts的原创者。Struts架构用来创建基于Java的Web应用程序。
  • 他是定义Servlet2.2、2.3和JSP1.1、1.2 规范的专家小组成员。
  • 他还是Tomcat Servlet容器Catalina的架构师。

相关链接

  1. Craig Mcclanahan Wiki
  2. Craig Mcclanahan Blog
  3. Apache Struts

新闻和访谈

  1. Craig McClanahan访谈
  2. Struts还是JSF?

6. Rod Johnson——Spring、SpringSource、面向方面编程、控制反转

 

    • Rod Johnson是Java开源应用框架Spring的创始人。他是Spring的创建者和SpringSource的CEO。
    • 他是面向方面编程(Aspect Oriented Programming)应用架构以及控制反转(Inversion of Control)的联合创始人。
    • Rod的畅销书《Expert One-on-One J2EE Design and Development(2002)》是所有已出版的著作中对J2EE影响最大的书籍之一。

相关链接

  1. Rod Johnson Twitter
  2. Rod Johnson博客
  3. SpringSource
  4. Spring框架Wiki

新闻和访谈

  1. VMware.com : VMware to acquire SpringSource
  2. Rod Johnson : VMware to acquire SpringSource
  3. Rod Johnson访谈 – CEO – Interface21
  4. Rod Johnson关于Spring维护策略改变问答
  5. Expert One-on-One J2EE Design and Development: Rod Johnson访谈

Rod Johnson著作

  1. Expert One-on-One J2EE Design and Development (Programmer to Programmer)
  2. Expert One-on-One J2EE Development without EJB

7、Gavin King —— Hibernate、Seam

 

  • Gavin King 是Hibernate项目的创始人。Hibernate是一个流行的Java“对象/关系”持久化解决方案。
  • 他是Java EE 5 应用程序架构Seam的创建者。
  • 他还为EJB3.0和JPA的设计做出了重要的贡献。

相关链接

  1. Gavin King博客
  2. Hibernate Wiki
  3. Hibernate框架
  4. JBoss seam

新闻和访谈

  1. Tech Chat: Gavin King谈Contexts和依赖注入Weld, Java EE 6
  2. JPT : Gavin King访谈Hibernate
  3. JavaFree : Hibernate创始人Gavin King访谈
  4. Gavin King深度解析Seam

Gavin King著作

  1. Java Persistence with Hibernate
  2. Hibernate in Action (In Action series)

8、James Gosling——Java语言

 

James Gosling在1994年发明了Java。他完成了Java的最初设计、编译器和虚拟机。由于他的贡献,他被推举为美国国家工程院院士。
  • 1983年,Gosling在加拿大卡尔加里大学获得了计算机科学学士学位。1990年,又获得了卡耐基梅隆大学的计算机科学博士学位,师从Bob Sproull。在攻读博士期间,他写出了一版Emacs,命名为Gosling Emacs(即Gosmacs)。在加入Sun Microsystems之前,他还在卡耐基梅隆大学就读期间开发了一个多处理器版本的Unix、多个编译器和邮件系统。
  • 1984年至2010年,Gosling就职于Sun Microsystems公司。他被公认为Java编程语言之父。
  • 2010年4月2日,Gosling离开了刚刚被甲骨文公司收购的Sun Microsystem公司。在谈到离开原因时,Gosling提到了工资、地位和决策权的削减、角色的改变和道德上的挑战。从那之后,在采访中他一直对甲骨文公司持批判的立场。他提到:”在Sun和Orcale的公司合并会议中,有关Sun和Google的专利情况让我们倍受煎熬。我们能够看到Oracle的律师眼中闪着火光。“ 在随后Oracle和Google关于Android的庭审期间,他澄清了自己的态度:”Sun公司没有专利诉讼的传统,但并不意味着我们没受委屈。虽然我的观点与Oracle不同,但在这个案件中他们(Oracle)是正确的。Google压榨了Sun,我们也都受到了严重干扰,甚至包括Jonathan Schwartz——那时候他刚要假装快乐地去‘化腐朽为神奇’。虽然他的行为让很多Sun员工感到不爽“。
  • 2011年3月28日,James Gosling在他的博客上宣布被Google聘用。五个月后,他宣布加盟一个名叫Liquid Robotics的创业公司。Gosling还是Typesafe公司的顾问。该公司成立于2011年5月,专注Scala开发。

相关链接

  1. James Gosling Blog
  2. James Gosling Wiki

新闻和访谈

  1. Dennis Ritchie、Bjarne Stroustrup和James Gosling访谈
  2. James Gosling访谈,“Java之父”
  3. 开发者访谈:James Gosling

9、Andy Rubin —— 安卓

 

 

  • Andrew E. Rubin 是Danger和安卓两家公司的联合创始人及前CEO。他在谷歌”Mobile and Digital Content“部门担任高级副董事直至2013年3月,主要管理智能手机开源操作系统安卓的开发工作。Rubin拥有四项发明专利,据称他的净资产值高达1亿美元。
  • 2013年3月13日,Larry Page在其博客上宣布Andy Rubin调离安卓部门并将承担谷歌公司新的项目。他的继任者Sundar Pichai同时接任了Andy在Chrome部门的领导职位。

相关链接

  1. Andy Robin Wiki

10、Doug Lea —— 并发

 

 

  • Doug Lea是纽约州立大学Oswego分校的计算机教授,在那里他专攻并发编程和并发数据结构设计。
  • 他曾是JCP(Java Community Process)执行委员会的一员,并担任Java 规范请求166(JSR Specification Request 166)的主席。JSR 166为Java加入了并发功能(详见Java并发)。
  • 他设计了util.concurrent开发包。
  • 2010年10月22日,Doug Lea通知JCP执行委员会他将不再参选JCP。后来,Doug又重新当选了2012 OpenJDK理事会的全权代表。