当前位置 行业新知 正文 下一篇:

java之父(java之父余生军)

各位老铁们,大家好,今天由我来为大家分享java之父(java之父余生军),以及java之父(java之父余生军)的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

电脑程序是谁发明的?

中国院士能干什么啊

什么级别的程序员最好?

祖师爷赏了多少人一口饭吃!

历史上的今天:Java 之父诞生;中国首家互联网公司成立;CP/M 操作系统发明者出生

整理 | 王启隆

透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。

今天是 2022 年 5 月 19 日,在 1999 年的今天,分布式计算项目 SETI@home 正式向公众发布。SETI@home 是一个通过网际网路利用个人电脑处理天文数据的分布式计算项目。该项目试图通过分析阿雷西博无线电望远镜采集的无线电信号,搜寻能够证实地外智慧生物存在的证据。该项目由美国加州大学柏克莱分校的柏克莱空间科学实验室主办。回顾互联网历史上的 5 月 19 日,这一天还发生过哪些关键事件呢?

1942 年 5 月 19 日:CP/M 操作系统的发明者 Gary Kildall 出生

图源:维基百科

加里·基尔达尔(Gary Arlen Kildall)出生于 1942 年 5 月 19 日,他是美国的计算机科学家和微型计算机企业家,在 1970 年代,PC 市场的黎明阶段,基尔达尔创建了 CP/M 操作系统。后来 CP/M 在转型时错失机会,惨败给微软公司推出的 MS-DOS,从市场上消失。加里·基尔达尔随后成立了 Digital Research, Inc.(DRI)来营销和销售他的软件产品;他是最早将微处理器视为功能齐全的计算机,并围绕这一概念组建公司的人之一。由于他在这个时代的成就,基尔达尔被认为是个人计算机革命的先驱。

基尔达尔在华盛顿州西雅图出生和长大,他就读于华盛顿大学,起初希望成为一名数学老师。在学习期间,基尔达尔对计算机技术越来越感兴趣。获得学位后,他开始在加利福尼亚州蒙特雷的海军研究生院任教,履行了对美国海军的征兵义务。在距硅谷一小时车程的地方,基尔达尔听说了第一个商用微处理器 Intel 4004;他立即买了一个处理器并开始为它编写实验程序。他还发表了一篇论文,介绍了当今用于优化编译器的数据流分析理论,并继续用微型计算机为新兴的软盘技术进行试验。

英特尔很快就知晓了基尔达尔的名字,借给他使用 8008 和 8080 处理器的系统;基尔达尔不负众望,在 1973 年开发了第一个用于微处理器的高级编程语言,也就是 PL/M。他还为英特尔编写了一个名为 INTERP/80 的 8080 指令集模拟器。同年,他开发了 CP/M 语言,使 8080 能够控制软盘驱动器;基尔达尔兴高采烈地向英特尔展示了 CP/M,但英特尔对此兴趣不大,转而选择推销 PL/M。英特尔就此失去了同时拥有微处理器和操作系统的大好机会,将另一半江山拱手让给了后来全面模仿 CP/M 起家的微软。

图源:维基百科

后来,基尔达尔开了一家叫 Digital Research 的公司,还开创了 BIOS 的概念;但他错失了全面商业化的机会,在 1980 年, IBM 在比尔·盖茨的建议下与 Digital Research 接洽,协商购买基尔达尔即将推出的用于 IBM PC 的 CP/M 版本,也就是 CP/M-86。结局当然是两家公司未能达成协议,微软成功截胡。关于这次交易为什么没能达成,至今也是众说纷纭,有人说是因为 IBM 的协议要求过多,也有人说是因为基尔达尔的自视甚高;无论如何,到了 80 年代末,几乎是“换皮版 CP/M”的 MS-DOS,已经成为操作系统上的事实标准。

1981 年,IBM 推出第一台带有 PC-DOS(微软 MS-DOS 前身)的 PC,其系统与 CP/M 的相似程度让基尔达尔震惊,基尔达尔认为这就是“全盘照抄”,连指令都跟 CP/M 一样。基尔达尔找上门来,提出可能危及 IBM 软件计划的诉讼,一时让 IBM 慌了阵脚。结果基尔达尔的真正目的却不是鱼死网破,而是希望 IBM 在 PC 中采用他下一版的 CP/M。IBM 当然乐于从命,微软也躲过了致命的一劫。但 CP/M 因为在向 16 位 CPU 的转化上错失机会,在以 IBM PC/AT 以及 IBM PC 兼容机为中心的 16 位 PC 市场上,惨败给微软公司推出的 MS-DOS,从此在市场上消失。

基尔达尔的名字也随着 CP/M 一起消失在后来的计算机历史之中。他是今天我们广为使用的 A 盘、B 盘和 C 盘驱动程序的编写者,也是一位图形用户界面(GUI)的先驱之一。他还开发了“Dr Logo”计算机语言。同时,在 1974 年,他和戈登·恩巴克斯一起,帮助创建了硅谷最负盛名的“家酿俱乐部”(Home Brew Club),成为计算机业余爱好者交流的天堂,也是硅谷点燃 PC 革命的中心。基尔代尔的 CP/M 还被美国国防部用作导弹制导系统的开发环境。在今天的开源时代,如果你开发了一项十分新颖但前途未卜的技术,你是会把它卖给大公司,还是自己开一家公司呢?欢迎参与本期投票,在评论区分享你的真知灼见。

资料来源:维基百科、百度百科

1955 年 5 月 19 日:Java 之父 James Gosling 出生

图源:维基百科

加拿大软件专家詹姆斯·高斯林(James Gosling)出生于 1955 年 5 月 19 日,他是 Java 编程语言的共同创始人之一,被公认为“Java 之父”。12 岁时,高斯林已能设计电子游戏机,帮忙邻居修理收割机。他于大学时期在天文系担任程序员工读生,并在 1977 年获得加拿大卡尔加里大学计算机科学学士学位。1981 年,高斯林开发了在 Unix 上运行的 Emacs 类编辑器:Gosling Emacs(以 C 语言编写,使用 Mocklisp 作为扩展语言)。

1983 年,高斯林获得了美国卡内基梅隆大学计算机科学博士学位,博士论文的题目是:“The Algebraic Manipulation of Constraints”。正式毕业之后,高斯林到 IBM 工作,设计了 IBM 第一代工作站 NeWS 系统,但仍不受公司重视。后来他转至 Sun 公司,并在 1990 年与 Patrick Naughton 和 Mike Sheridan 等人合作完成了“绿色计划”,发展了一门叫做“Oak”的语言,该语言后改名为 Java。1994 年底,詹姆斯·高斯林在硅谷召开的“技术、教育和设计大会”上首次展示了 Java 程序。2000 年,Java 成为世界上最流行的电脑语言。

2009 年 4 月,Sun 公司被甲骨文公司并购;高斯林则选择在次年 4 月时从甲骨文公司离职。2011 年 3 月 29 日,高斯林在个人博客上宣布自己将加入 Google。2011 年 8 月 30 日,加入 Google 数月之后的高斯林就在个人博客上宣布离开 Google,转而加盟一家从事海洋机器人研究的创业公司 Liquid Robotics,担任首席软件架构师。再后来,2011 年 5 月,一家 Scala 公司 Typesafe 建立,高斯林被列为公司顾问。2015年,高斯林被授予 IEEE 约翰·冯·诺依曼奖章。2018年,高斯林因为设计并创造了 Java 语言被收录进计算机历史博物馆荣誉墙。

资料来源:维基百科、百度百科

1995 年 5 月 19 日:中国首家互联网公司成立

图源:维基百科

位于魏公村的瀛海威科教馆旧址

张树新创办的“北京瀛海威科技有限责任公司”被认为是中国首家互联网公司,在中国接入国际互联网一年多的时间就创办了,其运营模式类似美国在线,网站包括 BBS、聊天室、电子报纸等服务。“瀛海威时空网络”是当时国内唯一面向普通家庭开放的网络。吴晓波曾在《大败局》中如此评价张树新和瀛海威:“张树新与瀛海威的故事,几乎可以被看成是中国网络业界成长史的一个缩影”。

张树新早期靠传呼机业务发迹,1994 年她通过朋友的电子邮件第一次认识到互联网,发现这是一个很有前途的行业,她随即决心投入这个行业。1995 年,张树新创办“北京瀛海威科技有限责任公司”,股东为张树新与姜作贤,注册资金人民币 700 万元。1995 年 9 月 30 日,瀛海威开始营运。当时瀛海威的主要业务是 ISP(互联网服务提供商)。用户利用调制解调器通过中国电信拨号上网;瀛海威则作为中间服务商提供信息服务,协助中国电信宣传互联网业务。

瀛海威一方面提供接入国际互联网的服务,另一方面挂靠在中国科学院的网络下组建起一套中国大陆国内的网络系统“瀛海威时空”。瀛海威时空经营模式类似美国在线(AOL),其网站包括 BBS、聊天室、电子报纸等服务。用户登录瀛海威时空,除电话费用外还需要缴纳一定的费用。1996 年 12 月 26 日,瀛海威时空 8 个主要节点建成开通,全国性的瀛海威时空主干网基本完成。瀛海威在北京开了中国大陆第一家民营科教馆,免费宣传互联网知识。瀛海威并开发出一套全中文的多媒体网络浏览系统。

1996 年 9 月,瀛海威公司扩股,总市值为 2120 万元。公司规模的扩大以及经验的不足,使得瀛海威开始冒险尝试一些并非可靠的经营项目,比如网络游戏、网上收费等超前但最终未能完成的投资项目。同时,1997 年 6 月邮电部组建的“169 全国多媒体通讯网”以及入网价格大调整,使得瀛海威的收入不断下跌。2003 年,瀛海威因管理经营不善结束营业。在那个我们可能还没摸过鼠标键盘的年代,瀛海威就已经把基础设施、内容平台、影音游戏、社交论坛甚至虚拟货币的业务全给做了一遍;互联网历史上,有无数想包罗万象的“巨无霸公司”,瀛海威是第一个,当然也不是最后一个。

【欢迎投稿】以史为镜,可以知兴替。计算机科学发展至今,有许多至关重要的事件、人物,欢迎所有朋友一起共建「历史上的今天」,投稿邮箱:tangxy@csdn.net 。

END

java之父(java之父余生军)插图

介绍一下Java开发大牛 还记得Java之父是谁吗?

1、James Gosling 号称“Java之父”

在他12岁的时候,他已能设计电子游戏机,帮忙邻居修理收割机。大学时期在天文系担任程式开发工读生,1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,博士论文的题目是:”The Algebraic Manipulation of Constraints”。毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司。1990年,与Patrick Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。1994年底,James Gosling在硅谷召开的“技术、教育和设计大会”上展示Java程式。2000年,Java成为世界上最流行的电脑语言。

2009年四月,Sun被甲骨文公司并购。高斯林于2010年四月时宣布从甲骨文公司离职。

2011年3月29日,高斯林在个人博客上宣布将加入Google[3]。

2011年8月30日,仅仅加入Google数月之后的高斯林就在个人博客上宣布离开Google,加盟一家从事海洋机器人研究的创业公司Liquid Robotics[1],担任首席软件架构师。

在2011年5月建立的Scala公司Typesafe Inc., 高斯林被聘请为公司顾问。

2、Joshua Bloch ——Collections 框架

早在1996年,适逢Java刚刚崭露头角。先是1月份发布JDK1.0,然后是5月底在旧金山召开首届JavaOne大会,年末又是JDK1.1紧跟其后。正是在Java技术如火如荼、大展拳脚的背景之下,JoshuaBloch来到了Sun。2004 年7月初,就在J2SE5.0发布在即,Jusha Bloch刚刚荣获Sun“杰出工程师(Distinguished Engineer)”的称号之时,他突然离开Sun而去了正值发展态势迅猛的Google,成为了Google的Java首席架构师。

在Bloch来到Sun之后,很快他被从安全组调入核心平台组,从事底层API设计。至此以后,每逢JDK的重大版本发布,总能在其中见到Joshua的“妙笔”。JDK1.1中的java.math、1.4中的assertions,还有大家所熟识的Collections Framework皆是Joshua一手打造。其中的Collections Framework还获得了当年的Jolt大奖。到了J2SE5.0研发阶段,身为平台组构架师的Joshua接掌了Tiger大旗,其核心地位已然无人可以替代。作为Tiger的代言人和领路人,没有谁比Joshua更清楚Tiger.相信大家一定还记得Joshua当年仿效英国诗人William Blake所做的咏Tiger诗八首,优雅的笔调,透出大师深厚底蕴的同时,也道出了Tiger的几大重要特性,这些特性是自JDK1.1引入Inner Class以来,Java最大的语法改进。Java风雨十年,从JDK 1.1到J2SE 5.0,Joshua实在功不可没。难怪有人戏言,假如将JamesGosling比作Java之父,那么Joshua就是一手将Java“哺育”成人的Java之母。Joshua对Java的贡献还不止于JDK,提起他的大作《Effective Java》(AddisonWesley, 2001),相信Java粉丝们一定耳熟能详。该书荣膺2002年度Jolt大奖,且备受JamesGosling推崇。书中57条颇具实用价值的经验规则,来自Joshua多年来在JDK开发工作中,尤其是Collections Framework设计中的实践心得,各个有理有据,剖析深入,也足见其深厚功力。该书对Java社群的影响,犹如C++社群中的《EffectiveC++》。Joshua对JCP的贡献也不小。他是JSR201和JSR175的领导者,前者包含了Tiger四大语言特性,后者则为Java提供了元数据支持。此外,他还是JSR166的发起人之一(该JSR由Doug Lea领导),并且是许多其他JSR的参与者。Joshua目前是JCP为数不多的几个执行委员会成员之一。

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

2004 年7月初,就在Tiger发布在即之时,就在Jusha Bloch刚刚荣获Sun“杰出工程师(Distinguished Engineer)”的称号之时,他突然离开Sun而去了正值发展态势迅猛的Google.当他离开Sun的消息在TSS发布之后,众多拥趸表达了怀念与 不舍之情。

3、Doug Lea —— 并发

如果IT的历史,是以人为主体串接起来的话,那么肯定少不了Doug Lea。这个鼻梁挂着眼镜,留着德王威廉二世的胡子,脸上永远挂着谦逊腼腆笑容,服务于纽约州立大学Oswego分校计算机科学系的老大爷。

说他是这个世界上对Java影响力最大的个人,一点也不为过。因为两次Java历史上的大变革,他都间接或直接的扮演了举足轻重的角色。一次是由JDK 1.1到JDK 1.2,JDK1.2很重要的一项新创举就是Collections,其Collections的概念可以说承袭自Doug Lea于1995年发布的第一个被广泛应用的collections;一次是2004年所推出的Tiger。Tiger广纳了15项JSRs(Java Specification Requests)的语法及标准,其中一项便是JSR-166。JSR-166是来自于Doug编写的util.concurrent包。

值得一提的是: Doug Lea也是JCP (Java社区项目)中的一员。

Doug是一个无私的人,他深知分享知识和分享苹果是不一样的,苹果会越分越少,而自己的知识并不会因为给了别人就减少了,知识的分享更能激荡出不一样的火花。《Effective JAVA》这本Java经典之作的作者Joshua Bloch便在书中特别感谢Doug Lea是此书中许多构想的共鸣板,感谢Doug Lea大方分享丰富而又宝贵的知识。

4、Gavin King – Hibernate

Gavin King,一个充满激情、脾气很倔、永不言败的人。他的成就也许全世界搞Java的人都知道:他是hibernate的创始人;他是EJB 3.0的Entity bean specification的实际领导人(sun任命的领导人应该是 Linda DeMichiel);他也是那本经典的书hibernate in action的作者;他也参加了XDoclet和Middlegen的开发;他在全世界各种著名的会议(TheServerSide Symposium等)进行演讲和讲座。

2003年9月, Gavin King和hibernate的一更好的方案”。 老板:”哦,Gavin,我知道你很聪明,开发水平也不错。但是开发这样的系统太难了,而且你根本就没有用SQL开发过任何数据库系统。不要想这样一个不现实的目标啦!” 小伙子皱了皱眉,说道:”不,我相信我有能力开发出这个系统。我的想法绝对是可行的。” (注:以上场景纯属虚构,但至少以下内容完全属实:Gavin King开发hibernate的动机有两个:发现CMP太滥;赢得对老板的争执。Gavin King当时没有任何用SQL开发数据库的经验,Gavin King开发hibernate的第一件事是去街上买了本SQL基础的书) 也许Cirrus Technologies的老板做梦也想不到两年以后,这个小伙子开发出的那个产品会成为全世界最流行的O/R Mapping工具,而那个对SQL和数据库一窍不通的小伙子居然会成为全世界J2EE数据库解决方案的领导者。 这就是Gavin King,一个充满激情、脾气很倔、永不言败的人。他的成就也许全世界搞Java的人都知道:他是hibernate的创始人;他是EJB 3.0的Entity bean specification的实际领导人(sun任命的领导人应该是 Linda DeMichiel);他也是那本经典的书hibernate in action的作者;他也参加了XDoclet和Middlegen的开发;他在全世界各种著名的会议(TheServerSide Symposium等)进行演讲和讲座。 2003年9月, Gavin King和hibernate的一些开发者加入了JBoss。这样他们就可以全职进行hibernate的开发,并提供最好的服务和培训。 也许在这里讨论hibernate的成功和影响力这种全世界都知道的事情已经是多余的了。Gavin King的火暴的脾气和自负也是闻名的,看看Gavin King自己有趣的评价:Even when I’m a rude grumpy bastard answering forum posts at 3am, I’m always happy to see people using Hibernate.(有点断章取义之嫌,呵呵,贴出来闹着玩)。

5、Rod Johnson —— Spring 创始人

Spring Framework创始人,著名作者。 Rod在悉尼大学不仅获得了计算机学位,同时还获得了音乐学位。更令人吃惊的是在回到软件开发领域之前,他还获得了音乐学的博士学位。 有着相当丰富的C/C++技术背景的Rod早在1996年就开始了对Java服务器端技术的研究。他是一个在保险、电子商务和金融行业有着丰富经验的技术顾问,同时也是JSR-154(Servlet2.4)和JDO2.0的规范专家、JCP的积极成员,是Java development community中的杰出人物。

很难想象Rod Johnson的学历,真的让好多人大吃一惊,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。不明白那个秃顶的脑袋瓜里怎么会同时拥有如此高深的计算机技术和高雅的艺术细胞,只能惊为神人。秃脑袋瓜并没有让Rod Johnson变得难看,好几个同学一致认为这家伙长得很酷。他看去是一个典型的英国绅士,虽然他好象出生在澳大利亚,但是现在住在伦敦。说起话来也是一板一眼,有条有理,字正腔圆而略有点尖的口音让人听起来特别清楚。然而Rod Johnson似乎也天生缺少一样东西:幽默感。一本正经的讲座和采访虽然让人听起来很爽,但是我找不到听Ted Neward或Marc Fleury时的那种激情和快感。记得去年的theserverside symposium上,Rod Johnson因为JBoss那帮家伙戴着面具穿着小丑衣出席会议时说他自己和整个Spring项目组都没啥幽默感,也不会穿那种衣服出席,结果引来了 Gavin King用最污秽的词在他的blog上作出的回应。 接下来的SpringFramework和Expert One on one J2EEDevelopment without EJB的成就几乎是人所共知的事情了。随后是他创办了interface21,一个专业的SpringFramework的咨询公司,呵呵Open source的专业化道路是Java community的最好出路。很多人说那里的培训很精彩。Rod Johnson的老本行就是做咨询的,在出名以前,他就给很多欧洲的大公司和大项目做资询。 Rod Johnson的另一个闪光的地方是他对standardization的看法,他是JDO 2.0和Servlet2.4的专家组成员,不过他对很多标准都持怀疑态度,当然最明显的就是EJB。如果谁都没有implement过某个技术而直接制定标准绝对是 dangerous的。这也是今年他在theserverside symposium上keynote speaking的主题。

6、Craig Mcclanahan —— Struts 创始人

Craig R. Mcclanahan 是一名程序员,同时也是 Apache Struts 项目的创始人,Struts 是一款非常流行的用于构建 JavaWEB 应用的开源 MVC 框架。他是 servlet2.2,2.3,JSP1.1 规范制定专家组的成员之一。同时他也是 Tomcat 的 servlet 容器 Catalina 的架构师

7、Andy Rubin —— Android

Andrew E. Rubin 是 Dangert 和 Android 公司的联合创始人及前 CEO。2013 年之前,他曾担任 Google 移动及数字内容的高级副总裁,负责研发一款开源的智能手机操作系统——Android。Rubin 名下拥有四项发明专利,据说他的身家价值上亿美金。

2013 年 3 月 13,Larry Page 在博客中透露,Andy Rubin 将调离 Android 事业部,去负责 Google 的一些新项目。Sundar Pichai 将接替他的工作,同时仍旧兼任 GoogleChrome 事业部的老大

8、James Duncan Davidson ——Tomcat 和 Ant

James Duncan Davidson(1970 年 7 月 29 日出生于得克萨斯州的卢博克市)是美国的一个摄影师,曾经是一名软件工程师。他在担任 Sun 公司软件工程师期间(1997-2001),开发出了 Java 的 web服务器 Tomcat 以及构建工具 Ant。在 2005 到 2006 年间,Duncan 开发的兴趣和注意力转向了 Ruby on Rails。他和 Rails 领域的著名大师 Mike Clark 一起合作,Davidson 设计及开发了一些相当复杂且健壮性佳的 Rails 应用。

2005 年开始, Duncan 把摄影作为了自己的副业。他现在是几个知名科技会议的首席摄影师。他现在是波兰一个叫 Luma Labs 的小公司的联合创始人及所有者,专注于生产高质量的相机配件

9 Marc Fleury —— JBoss

Marc Fleury 在 2011 年创建了一个名为 JBoss 的开源 Java 应用服务器项目,这个可以说是 Java WEB 应用部署的事实标准。

Marc 研究的兴趣主要集中在中间件开发,他于 1999 年启动了 JBoss 项目。2001 年,他在亚特兰大成立了 JBoss Group 有限责任公司,JBoss 正式成为公司的名字则是在 2004 年。

把公司卖给 Red Hat 后,Fleury 成为 JBoss 部门的高级副总裁和总经理。然而从 2007 年 1 月开始 Fleury 休起了陪产假,计划至同年的 3 月 15 日结束,但此时有谣言称他可能将离开 Red Hat。2007 年 2 月,Red Hat 公司正式公布他离职的消息,并称他“决定离开 Red Hat 以便追求一些别的个人爱好,比如教书,进行生物研究,玩音乐,陪伴家人”

10、Kent Beck——JUnit 创始人

Kent Beck 率先提出了极限编程和测试驱动开发的概念,这个也被称为敏捷式开发。Beck 是一名来自美国的软件工程师,他是 2001 年最早签名发起敏捷宣言的 17 人之一。

1979 年至 1987 年,Beck 在大学进修,获得了计算机科学的学士和硕士学位。他是软件设计模式的先驱,倡导测试驱动开发的模式,并率先使用 Smalltalk 来开发商业应用。他和 Ward Cunningham 一道推广了 CRC 建模的方法,并和 Erich Gamma 共同创建了 JUnit 测试框架。

揭秘:探索Java 之父高斯林的编程人生

来源|极客时间《卖桃者说》

作者|池建强

编辑|凌敏

今天和大家一起聊聊 Java 语言之父,高斯林。

很多刚入门的同学常常让我推荐一门编程语言,我一般在静态语言堆里会推荐一门,这门语言就是 Java。Java 是一门中规中矩的工业级别的编程语言,自 1995 年正式问世以来,从崛起、问鼎、睥睨天下到进化、平稳、丢掉兵器谱头把交椅,它经历了 Sun 的辉煌与坠落,微软的崛起与纷争,互联网的起兴、泡沫与复兴,移动互联网的大发展和 Android 平台的突飞猛进。

Java 语言,就像互联网大航海时代的一艘大船,虽然它的语法没那么灵活,也没那么强大,有时候看起来甚至是滞重的、笨拙的,但是,Java 在二十多年来每个浪潮的转折点都恰到好处的站在了浪潮之巅。时至今日,Java 作为一门优秀的编程语言和强大的生态平台,依然屹立于程序世界之巅。

今天,我就跟你聊一聊 Java 的创造者,Java 之父 James Gosling。作为很早使用 Java 的那一代老程序员,我们都把他老人家亲切的称为高司令,为了方便,下面我会称呼他为高斯林。

高斯林今年已经有 65 岁高龄了,按理说这个年纪早该退休颐养天年,但他却没有,2017 年还从 Liquid Robotics 跳槽去了 AWS,和一群四五十岁的重量级计算机科学家们共事。突然想起前段时间热议的“35 岁程序员危机”,其实年龄从来都不是问题,只要保持思考和学习,在职场中就有竞争力。

高斯林的同事也给了他很高的评价:

我从未见过任何一个人,对技术有如此强大而富有创造性的远见,并且能够清晰地看到未来。当大家都在寻找脚下问题的解决方案时,高斯林却在一万英尺的高空绘制新航线并修建道路。与高斯林一起工作是种乐趣,他既能描绘出看不见的路线,又能自然而然地让团队参与其中。

不过高斯林最初的兴趣爱好并不是计算机编程,而是手工制作。在他 6 岁的时候,就被祖父废料厂里的拖拉机、脱粒机等农场设备迷住了;到了 12 岁,他不仅会修理收割机,还把垃圾桶里翻出来的元件稍作改造,设计出了一台电子游戏机。

高斯林真正爱上计算机编程是在卡尔加里大学的计算机中心,这所大学离高斯林家只有 1 英里,他在十几岁的时候就经常跑去那里玩。在那里,他展示出了惊人的天赋,就像迷恋手工制作一样,他对编程的热爱只增不减。高斯林 15 岁的时候获得了一份物理系兼职工作,通过编写代码来帮助分析加拿大 ISIS-II 卫星传回的数据。

在卡耐基梅隆大学攻读研究生和博士的时候,他又肩负着将学校系统升级为 Unix 的重任,其实最简单的办法就是编写一个语言编译器,帮助逐行修剪旧机器上的程序,让它可以在新机器上运行。高斯林却采用了更大胆的做法:他创建了一个机器语言转译器,既可以解决当前的问题,也为更多程序在不同的计算机上运行提供了通用的解决方案。这也给高斯林奠定了开发 Java 虚拟机的技术基础。此后,高斯林一直思考如何编出一种流传于网络、可以在任意机器上运行的通用编码。

1984 年,高斯林正式加入 Sun,他在那里工作了 26 年,并带领团队创造出了二十世纪末和二十一世纪初最伟大的产品之一 Java。其实在 Sun 创办初期,公司创始人就曾邀请高斯林一起创业,不过高斯林受父亲影响,得了一种叫做“创业过敏”的病。高斯林的父亲是个创业者,搞过油田设备和房地产销售,也做过物流工作。他总是不断寻找生意,经常从很远的地方给高斯林打来电话,电话那端的声音常常很飘渺,这种四处飘摇的生活给年幼的高斯林留下了深刻影响。以至于后来一说到创业,高斯林就会浑身难受,比起硅谷大多数人热衷于开创自己的事业,高斯林更喜欢去创造产品并看着它们投入使用。

直到今天,高斯林也没有创办自己的公司,但是他创造的 Java 语言让无数程序员写出或即将写出一大批改变互联网、甚至改变命运的软件和服务。其实高斯林在最初的时候没有想过自己会创造一种全新的编程语言,一开始,他只是编写改进 C++ 语言的修补代码,目的也只是为了让公司的掌上样机项目成功,这个产品有点类似于机顶盒,可以通过它控制电视、摄像机、立体音响等设备与无线网络进行连接。改着改着他发现,要想解决网络环境安全问题,不是增加一些东西就可以做到的,而是需要深入最底层,创造新的机器语言。

1992 年,高斯林用了一整年的时间来研发新语言,并把这个语言命名为 Oak,名称来自于他办公室窗外的那棵橡树,这也是 Java 语言的雏形。后来,Oak 经过不断改造,最终在 1995 年 5 月以 Java 的名称正式发布。据高斯林后来回忆,Java 这个名字是奥珀曼(Mark Opperman)在头脑风暴会上提出来的,当时大家在征集名字,奥珀曼面前的一杯咖啡上正好写着 Java,Java 是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。于是这个好听又好记的名字就被采用了,Java 甚至还把一杯热气腾腾的咖啡当作图标。

1996 年,Sun 成立了 Java 业务集团,专门开发 Java 技术,同年,第一个 JDK1.0 诞生。短短几个月,就有约 8.3 万个网页应用了 Java 技术来制作。1997 年 2 月,JDK1.1 正式发布,一年后下载量就超过了 200 万次。毫无疑问,Java 成了当时最受欢迎的计算机编程语言之一。

然而 Java 的成功却让高斯林饱受质疑,因为很多技术要素在 Java 诞生之前就被提出过,比如面向对象编程、虚拟机技术、网络编程等。但高斯林的难得之处在于,他将这些技术要素完美的组合在一起,并进行了设计和实现,形成一门全新的编程语言,这并不是一件容易的事情。所有的创新都是递增的,在原有知识基础上,用创造性的观点对其进行全新的组织,Java 正是如此。它不仅借鉴了 C++ 的长处,还吸收了 Lisp、Smalltalk 以及 Pascal 的特点,最终将这些环境平滑地组合在一起。

高斯林对于计算机编程也有自己的理解,他认为计算机编程是门艺术,和精力守恒定理一样:你投入到程序中的精力越多,用户使用时遇到麻烦和折腾的精力就会越少,程序员要做的,正是在开发端和用户端之间尽量平衡开发和用户使用的复杂度。

Java 充满了计算机科学的思想,但它同时也是一种为了实用而设计的计算机语言,它简练、机智、实用,刚开始用就像人人可以上手的太祖长拳,进入某个阶段以后才恍然大悟,原来这就是江湖追逐的九阴真经。在中国,程序员们用这门语言实现了全世界最大的电子商务交易平台,嗯,就是阿里巴巴。

其实任何成功都不是一蹴而就的,Java 也是如此,优秀的技术、时机、运气和市场营销都很重要。Sun 在当时召集了最好的工程师组成小团队,让他们放手去做,团队也曾在编程语言的简洁性和功能性上出现分歧,公司创始人乔伊(Bill Joy)将 Java 视为未来 30-40 年的唯一一次机遇,他想把一切都纳入其中,而高斯林则是简洁性的倡导者,他认为降低复杂度会让 Java 更富有连贯性,更小型化,更友好,程序员在使用时会更容易理解和掌握。最终,高斯林成功说服了大家,因为对于编程语言来说,技术一致性是很重要的,语言的设计应该是一个人的观点,而不是委员会式的编程语言。

现在回过头来看,当初大部分正确的决定都是高斯林做出来的,团队其他成员之所以听从高斯林的判断,和他的做事方法密切相关。当他对一件事物有不同看法时,他不仅有话要说,更知道该怎么说。同事在评价高斯林的时候,认为他对技术的主张是一种坚持,而不是固执,更不是妄自尊大。这里就体现出语言的艺术了,很多程序员在与人交流,尤其是和不懂编程的人讨论时,很容易受封闭式思维影响,用专业深奥的语言解释,却没人能听得懂,这也导致一些程序员不愿意和其他部门同事沟通,因为反正说了也没人听得懂,不如不说,长此以往,同事间的隔阂也会越来越深。说话是门艺术,你只有学会怎样向更广泛的受众解说,才能让你的决策得到更多认可。

最后,高斯林也给了年轻程序员们几条建议,简单整理出以下三点:

1. 多问多读多看

办法总比问题多,遇到问题最有效也最快的解决方案就是问,不要在乎你那点面子,能解决问题就行;还有就是多读,讲计算机编程的书和专栏很多,每天学一点,不断让自己的知识丰富起来;还要多看科技新闻,学会分析 IT 未来局势,什么技术会火,什么行业更有前景,做好职业规划,让一身的技术知识能有地施展。

2. 至少学会两门语言

每次一有人讨论谁是最好的编程语言,大家都会吵得不可开交。其实压根没有最好的语言,甚至谁也不敢保证,自己用的语言在未来不会被淘汰。所以多学几门是很有必要的,每种语言都有自己的特点,而且也能给自己留个后手。

3. 重视优化

没有最佳的完美程序,程序员要做的就是越快越简单越好:编程,优化,再编程,再优化。编程不是目的,程序员真正的价值是解决问题稳准狠,以最小的代价解决问题。

今天关于 Java 之父的话题就先聊到这儿,你平时最常用的编程语言是哪个呢?欢迎在留言区分享。

点击链接,阅读更多文章!

关于本次java之父(java之父余生军)和java之父(java之父余生军)的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

本文来自网络,不代表立场,转载请注明出处:http://www.yuzhuoseo.com/news/23274.html