Java的好爸爸都有谁
我们大家都知道 Java 之父,叫詹姆斯 高司令(James Gosling)
,也就是这个表情包里的大胡子老头.
不过如果打开Java 语言标准(Java Language Specification)
,会看到后面还有一串名字
那么, 这些站在高司令身后的,又是些什么人呢,他们是Java的养父吗?
Bill Joy[1]
老爷子是Sun
的联合创始人,没错, 高司令的老板之一.
1970 年代,老爷子读书时候,参与了Unix
的主要变体BSD
的开发.这上面还诞生了另一个东西, 完整的TCP/IP
协议栈.
JavaScript[2] 现在都知道, 是Brendan Eich
发明的, 但是写一种能在浏览器里执行的脚本,这点子也有Bill Joy
的影响. 是的, 他同时还是Brendan Eich
的老板.
Guy Steele[3]
被Bill Joy
聘来给Java
写标准的大神, 因为他的专长就是设计和解释语言语法.比如, 他曾经参与了C语言
标准化为ANSI C
的过程,也曾设计了Common Lisp
,Scheme
等语言.
按照《Coders at work》[4] 的说法他擅长下面这些语言:
COBOL, Fortran, IBM 1130 assembly, PDP-10 machine language,
APL, C, C++, Bliss, GNAL, Common Lisp, Scheme, Maclisp,
S-1 Lisp, *Lisp, C*, Java, JavaScript, Tcl, Haskell,
FOCAL, BASIC, TECO, and TeX.
Sun 被收购以后,老爷子现在好像在 Oracle .
Gilad Bracha
这老爷子是个 OOP 专家,虽然名字写在 JLS 上,但他还是比较激进的.
关于这个挂着自己名字的语言,Java
, 他说过这么一句话:Java正在成为Cobol 2.0
.(注,cobol 是 60 年代的一种编程语言,大量银行之类的老业务都跑在上面)
这话, 是他2010 年说的:"Java is becoming Cobol 2.0 "2010 年说的".或许是当时因为当时 Java6 已经持续了 5 年,Sun 也快死了吧.不知道今天他是什么看法.
现在他的主要工作似乎挪到了dart
语言里去,谷歌跨平台的框架Flutter[6],就有他的手笔在里面.
Alex Buckley[7] - Spec Lead, Java Language
前面的都是上古大神了. 这位是当下的Java
标准领导人. 没找到他照片,😅
这是一张他讲 Java9 的视频里截的图,凑合看吧.
Daniel Smith[8]
这位是真找不到图片, 从一个演讲里截取出来一张.
他是 lambda,JSR335[9] 的领导人. 这一句的分量应该就够介绍他是谁了.
Gavin Bierman[10]
这位倒是非常活跃, 图好找.他活跃于编程语言设计领域,Java,C#,TypeScript,全都涉及[11] , 在 14 年加入甲骨文前在剑桥计算机系教书.
不过因为是 2014 年加入的, 他主导的Record
,instanceof
,switch
的模式匹配之类东西, 我们都用不到....因为 2014 年 Java8 已经出来了...后面的暂时用不上.
下面这张图似乎是他在网上晒娃,挺有意思.
参考资料
Bill Joy: https://engineering.berkeley.edu/bill-joy-co-founder-of-sun-microsystems/
[2]JavaScript: https://thenewstack.io/brendan-eich-on-creating-javascript-in-10-days-and-what-hed-do-differently-today/
[3]Guy Steele: https://labs.oracle.com/pls/apex/f?p=labs%3Abio%3A0%3A120
[4]《Coders at work》: https://codersatwork.com/guy-steele.html
[5]Gilad Bracha www.bracha.org: http://www.bracha.org
[6]Flutter: https://tech.meituan.com/2020/06/23/meituan-flutter-flap.html
[7]Alex Buckley: https://inside.java/u/AlexBuckley/
[8]Daniel Smith: https://www.infoq.com/presentations/Project-Lambda-Java-SE-8/
[9]JSR335: https://cr.openjdk.java.net/~dlsmith/jsr335/jsr335-0.6.2/index.html
[10]Gavin Bierman: https://inside.java/u/GavinBierman/
[11]Gavin Bierman: https://labs.oracle.com/pls/apex/f?p=LABS:bio:0:2044
今天写这篇,是因为凑巧看到一篇文章, 感觉很好,搜了下作者,发现是JLS作者之一. 干脆,一不做二不休,这上面的名字都查一遍吧.
这里是K字的研究, 一个Java程序员的日常分享.今天就到这里.