2. Java语言的前生今世(下)

上一期提到,太阳公司一个年轻的程序员,帕特里克诺顿,给公司提出了一份言辞尖锐的备忘录,我对这份备忘录很好奇,到底写了些什么呢?这份备忘录,主要有两部分内容,一部分内容是,列出了太阳公司的缺点,另一部分内容,则是对Next公司的夸奖。

诺顿的建议有如下几条:雇佣一个艺术家,把用户界面弄的漂亮一些,现有的用户界面太丑;只选择使用一种编程工具包;将公司的注意力集中在一种视窗技术上,而不是分散兵力,多线作战;解雇现有的视窗组员工,他们太烂了!在我看来,这几条建议,简直放之四海皆准啊,现在,对大多数公司来说,依然很适合。

正是因为这份言辞尖锐的意见,导致太阳公司进行反思,从而促成了Green小组,而开发出了Java语言的雏形,虽然当时不叫Java,当时的名字叫Oka语言。后来这个项目的市场反响,并不好,太阳公司准备取消Oka项目,解散团队。为什么太阳公司会做出这种,以今天的眼光来看很愚蠢的举动呢?我认为,这要从太阳公司的DNA说起。

太阳公司这个名字,其实是斯坦福大学校园网的,首字母的缩写(Stanford Universtiy Network),太阳公司的主打产品是Unix服务器和工作站,本质上,他是一家硬件公司,太阳公司有自己的硬件Spark处理器,和Solaris操作系统,但是没有关键的应用软件,当然,也有一些影响力不大的软件,比如StarOffice办公软件,但是影响力非常有限。太阳公司卖的工作站每台几万美元,服务器每台10万美元,再加上上世纪互联网的兴起,通过卖服务器和工作站,站着就把钱给赚了。太阳公司眼中的竞争对手是,SGI,DEC还有惠普这种公司,在硬件市场,这些都是太阳公司严重的软柿子,随便捏来捏去的。

正是因为太阳公司以硬件为主的商业模式,导致了他固步自封,像Oak这种项目,市场不好,赚钱无望,想关掉也算顺理成章,反正也不指望Oak项目有多大的出息,毕竟卖硬件赚的钱花都花不完啊。就在Oak项目就要被取消,高斯林萌生退意,团队即将解散的紧要关头,太阳公司的联合创始人比尔乔伊挽救了Oak项目。比尔乔伊不仅是太阳公司的创始人,他还是一个优秀的程序员,天主教知识分子,他是BSD系统的主要设计者,BSD系统是目前苹果公司Mac OS的父亲,他还参与设计了TCP/IP,更重要的是他还是编辑器Vi的作者,以后有机会,我想单独做一次他的生平事迹。在这里,我们只说他挽救Java的故事。

当时1994年,互联网如星星之火,逐渐蔓延。1993年6月,两名伊利诺伊大学的学生,马克安德森和埃里克比那发布了第一个版本的浏览器Mosaic。为了使这个浏览器商业化,安德森注册了一家叫网景的公司,这个浏览器的发明,让每个普通人,都可以方便的使用互联网技术。这时候,比尔乔伊敏锐的观察到,Java语言可以满足互联网对安全的要求,因此他对高斯林说:游戏已经开始了。

早在十几年前,比尔乔伊在设计Unix的时候,就已经开始思索,如何在千差万别的互联网环境中,使用一种新的编程语言,可以确保互联网的安全性和可靠性。比尔乔伊回忆说:他当时也不知道怎么做,但是他一看到高斯林的东西,就知道这就是他要找的编程语言。比尔乔伊对高斯林的评价非常高,他说:詹姆斯很伟大,他在这个空白的领域写下了第一笔,虽然只完成了一部分,但是异常精彩。他独自一人工作,这是一种罕见的天赋。要将这种技术快速应用到产品中去,其他人必须要模仿他。但是高斯林是先行者,毫无疑问,他有独特的思考方式。

太阳公司的前技术主管,埃里克施密特,后来此人当了Google公司的CEO,对此的评价是:Java的天才之处,在于詹姆斯的借鉴和创新,都恰到好处。(说点题外话:网络上对Java的嘲笑,不绝于耳,很多人也质疑高斯林的成就,以前我就看过一篇文章,上面列举了Java的技术思想,早在Java出生十年前,甚至二十年前就出现了,所以,Java根本不是什么新生事物。但是我认为,所有的创新都是递增的,都是以原有的知识为基础,高斯林的过人之处在于,他将,原有的知识重新汇总,进行全新的组织,来满足网络时代对安全的要求,Java语言是一种为了实用而设计的计算机语言。)90%的程序员,都是技术水平一般的普通人,Java语言一开始,就是创造一种,“没有锋利边缘的编程语言,这样,人们就不会因为编程语言的问题,而伤害自己”。当时已经有了C语言以及C++语言,这两种语言足够强大,C 语言程序就像一群拿着刀的人,在刚刚打过蜡的地板上快速的跳舞。C++的作者也说过:C 很容易让你朝自己的脚开枪。在 C++ 中,这么做变的困难了,但是你要不注意,就会崩掉自己的整条腿。高斯林这么评价自己的Java: Java 就是去掉了枪炮,刀剑,还有黑帮的 C++。

Java是一种互联网时代的语言,他试图通过,限制程序员犯错的自由,来简化互联网编程。比尔乔伊曾经说过,互联网世界的最终目标是,努力将软件变得像机器的组成部件一样稳定。Java可以看作是装有螺丝钉,螺丝帽,螺栓等各种工具的工具箱。Java就是一个系统,他确保程序员,在使用这些工具的时候,不会做出危险的举动。当然,并非所有人都接受这种限制,那些讨厌这些限制的程序员,将Java比做“警察国家”,将高斯林称为软件法西斯主义。但高斯林回应说:Java的限制对于互联网是一种宝贵的资产,让软件变得更加稳定可靠。Java确实是折衷的结果,但是,利大于弊。

“对Java来说,规矩就是规矩,一旦适应了这一点,它将变成一种自由的语言”高斯林将对Java的批评,比作早期飞行员的抗议。飞机制造商将驾驶舱密封起来的时候,飞行员表示抗议。因为,使用螺旋桨推动飞机的时代,飞行员通过将头伸出机舱来导航,感觉风向。但是当你坐上一架2马赫的现代飞机,打开机舱把头伸出去,脑袋就被吹掉了。他说:要更进一步的解放自己,你就要放弃那些曾经看起来是自由的东西。

如果你连上了网,你就不得不处理多样性,不得不处理交互性,不得不考虑故障,对其它的部分会造成怎样的影响,也就是说不得不考虑系统的可靠性。传统的观点认为,软件要么全部成功,要么全部失效,只有两种情况,要么正常工作,要么无法工作。有没有可能创建一个健壮的系统,这个系统部分失效以后,仍然可以继续运行呢?就像一辆汽车,在收音机损坏的时候,仍然可以正常行驶,而不是尖叫着停下来。这就是设计Java语言的初衷。

扯远了,再把话题回到1994年,1994年,是Java制定标准到一年。在这一年里,Java应该有什么特征,需要抛弃那些特征,怎样改进性能,都是在这一年搞定的。会议有六七个人参加,其中争吵最为激烈的是高斯林和比尔乔伊之间,高斯林是简洁派的,比尔乔伊是功能派的。高斯林坚持认为Java应该足够的简洁,凡是有疑惑的,就删掉;比尔乔伊则认为Java要足够强大,要把大部分语言的强项都添加到Java里,就像一个威力无比的巨无霸那样。后来,大部分决定都是高斯林做出的,Java就是他的孩子。在一次采访中,关于简单性和复杂性,高斯林说:通常系统想更强大,就往往变得很复杂。

高斯林另一个精明之处在于,他让C++程序员很快就掌握了Java。在Java即将被打磨出来之前,太阳公司的另一个商业计划出炉了。在1994年9月,高斯林,比尔乔伊以及施密特共同举行的一次会议上,确定了Java的方向,高斯林说:Java是所有人都能够使用的编程语言。在会议之后,施密特起草了商业计划,提出了具体的数字:5年内,Java用户将会达到1亿。实际上,两年以后,Java的用户数量就达到了1亿。1亿这个数字相当于当时所有运行windows的计算机。之所以会这么快达成目标,一个很重要的原因是,网景公司的浏览器决定支持Java。当时网景公司的安德森,一直在考虑一个问题,如何才能把服务器上的代码,通过网络传送到数百万台计算机上呢?当时网景公司尝试了一种语言,使用Scheme语言,但是这种语言最终没有达到目的。随后该团队看到了Java,于是就认定了这种语言。网景公司和太阳公司于1995年5月23日签订了意向书。

之后,为了更好的市场推广,太阳公司决定将Oak语言重新命名,当时列出了十几个备选的名字,其中之一是Java,其它几个没入选的名字分别有Silk, Lyric等等,最后由产品经理波利思决定,她选择了Java。比尔乔伊和施密特负责太阳公司推广Java的工作,他们选择了一个激进的策略,他们计划不从Java中获利,授权条款全部都是无偿奉送,只是为了提高软件的接受度。在1996年,太阳公司召开了Java的会议,JavaOne,初次会议就有1000来人参加,众多公司包括网景,甲骨文,惠普,IBM纷纷申请Java的许可,反正也不要钱。Java就是当时最热的语言,整个顶级IT公司都在宣告,我们使用Java。在这些公司里,还包括一个公司——微软。微软在1995年发布了windows95,微软在操作系统的地位如日中天。微软公司在1996年3月也向太阳公司申请了Java许可,当时的比尔盖茨对Java的评价是:Java是很长时间以来最优秀的程序设计语言。太阳公司希望微软公司帮助自己推广Java,微软公司希望把Java搞得支离破碎,各怀鬼胎的合作下,最后不得不对簿公堂,在2004年,太阳公司胜诉,获得16以美元赔偿,但是微软却赢得了很大的市场,借鉴JSP技术的ASP技术获得了更大的市场占有率。太阳赢了官司,却丢了未来。对此,高斯林这么评价:微软花了巨大的精力,让用户在windows上看不到Java。

后来微软公司宣布了一种新的技术,可以转移Java用户,并且推出了自己的编程语言,C#, 用来代替Java。微软公司的C#语言定位和Java类似,有着和Java类似的功能。这是微软一贯的策略,首先和你拼技术,拼技术不行就拼流血,反正微软血量足,对手拼流血一般是拼不过微软的。突然想起了微软进入游戏机市场,花了大量的钱打造xbox游戏机,记者问比尔盖茨,如果xbox花费了这么多钱,仍然失败了你会怎们办?比尔盖茨轻轻一笑,说,如果这次xbox失败了,我就再投入更多的钱重新玩一局。微软靠这个方法,打赢了很多战争,包括和borland的编译器之战,以后有机会,我也说说那场战争。微软一贯的策略之一就是,引入新的技术,按照自己的方式重新定义新的技术,然后说服程序员加入自己的阵营,取得最后的胜利。

在1995年,微软开始开发自己的浏览器,和网景公司进行竞争,网景公司是太阳公司最大的合作伙伴之一,正是因为网景公司的鼎力支持,才让太阳公司的Java迅速的占领市场。微软在击败莲花公司和WordPerfect公司的时候,就是利用了自己windows的优势。这次和网景公司竞争,刚开始的时候,网景公司掉以轻心,以为顶多到时候打价格战,网景有钱,这个仗还能拼一拼。没想到微软公司直接把IE免费了,仅仅一年半以后,网景就被微软击败了。如果仔细研究IT的历史,就会发现一个很有趣的现象,微软建立自己的霸主地位以后,就再也没有出现过世界级的PC软件公司,因为只要在PC软件上还有大的机会,微软就会利用自己操作系统的优势,把所有的玩家都清除出去,这个受害者名单有一大长串,网景,WordPerfect, 莲花公司,太阳公司,RealNetwork公司,都没能幸免于难。

到了上世纪末,太阳的市场总值,一度攀升到2000亿美元的最高峰,股价高达每股247美元。公司的CEO麦克利尼也是春风得意,他说,太阳公司就是.com前面的那一点,当我向后看的时候,我欣喜的发现,我至少领先有些公司至少20年。但是,2000年网络泡沫开始破灭,大多数.com公司都关门大吉了,服务器市场突然低迷,太阳公司一年之内就从顶峰跌到了谷底。更可怕的是,以前和Java和微软的ASP竞争的劣势,开始结出苦果,Unix服务器市场,依IBM为首的Linux操作系统,开始蚕食太阳系统的Solaris系统,在windows服务器市场,由于微软明里暗里的不支持JSP,而是支持自己的ASP,因此太阳公司前有狼,后有虎,苦不堪言,2003年巨亏34亿美金,从此沦落称为一个二流的厂商,失去了挑战微软和IBM的能力,以至于最后被甲骨文收购。

还有很多值得八卦的事情,太阳公司的CEO麦克利尼是硅谷著名的喷子,口无遮拦,不止喷微软,他还喷除了自己以外的其它公司。太阳公司自己生产spark的CPU,在80年代的时候,太阳公司曾经试图进入个人电脑市场,自己提供CPU,还能自己生产操作系统,因此,和Intel曾经是竞争对手,他曾经宣称,只要是有厂商采用SPARK的CPU,太阳公司就提供最详细的资料,对于当时微软的铁杆合作伙伴Intel,他说:摧毁微软是每个人的义务。对于微软的windows NT操作系统,由于是Solaris的直接竞争产品,麦克利尼评价说:你们敢把软件运行在NT上么?你们是在玩过家家的游戏么?

“别和微软合作”一直是麦克利尼的口头禅,他说:“和微软合作有很多的条件。而不管什么公司,只要与微软合作,他们自己都会受到很大伤害,自己公司的规模就会变得越来越小。”有一次他在展示自家的服务器的时候,需要输入密码,他对台下的观众说:密码是 say no2nt,中文意思就是“对NT说不”。Dell公司也有Linux服务器,和太阳公司有竞争,在评价Dell公司的时候,麦克利尼说:Dell公司不是一个公司,仅仅是一个流通渠道。对此,另一个大炮Dell也不是省油的灯,他回应说:我想有的企业将永远不会复苏,原因是他们的业务建立在,人们不再购买的产品上。对待惠普和康柏这两个老对手的合并,他仍然是火力全开,他说“在我看来,这是两个烂公司之间的合并,他们已经不是计算机公司了。”

对IBM,依然延续其毒舌,他在接受中国记者采访时称,“我很希望2008年北京奥运会也能用我们的产品。从架构角度来说,中国有三种选择:一种是微软的封闭架构;一种是太阳公司的开放架构;最后一种是IBM的架构,其实IBM本没有什么架构可言。”再后来,太阳公司的市值越来越少,IBM曾经提出过收购,但是在经过几个月的谈判以后,太阳公司拒绝了IBM的收购,在2009年4月20日,甲骨文以74亿美元收购了太阳公司,太阳公司的历史使命结束了。

用华尔街的话说,太阳公司是赔钱赚吆喝,至于吆喝之后怎么赚钱,太阳公司直到被甲骨文收购前,都没找到办法。倒是甲骨文收购以后,找到了Java的赚钱之道,打官司找谷歌赔钱。甲骨文收购太阳公司以后,关掉了很多项目,比如关掉了太阳公司一个CPU的项目,据埃里森讲,该CPU非常慢,非常耗电,以至于为了散热,需要一个30厘米那么大的风扇才能散热。甲骨文还关闭了OpenSolaris项目。

作为太阳公司极具影响力的产品之一Java编程语言,并没有随着被甲骨文的收购而变得暗淡,被甲骨文收购以后,Java的创始人高斯林已经离开了公司,但是,由于安卓手机的流行,Java再次展现出其旺盛的生命里,在编程语言排行榜上长期占据第一位。在下一讲中,我们再来讲安卓系统让Java重新焕发青春的故事。

1. Java语言的前生今世(上)

最近在IT界有一个很轰动的事件,甲骨文起诉谷歌侵犯了Java的知识产权,美国法院裁定谷歌对甲骨文的37个Java API的使用为[合理使用],也就是说这一轮谷歌胜诉了,当然,这事还没玩,甲骨文表示会继续上诉。

在这里,我对谷歌和甲骨文这个旷日持久的官司兴趣并不大。自从甲骨文收购太阳公司以后,已经和谷歌打了好几场官司,官司持续了好几年,甲骨文要求的赔偿金额高达10亿美元。至于这些官司谁赢谁输,这个就让美国的法院去操心。在这里,我关心的是Java这门语言的前生今世。

Java语言的作者是詹姆斯*高斯林,他于1955年5月19日出生在加拿大,具体的地点是阿尔伯特省的卡尔加里,家里有三个孩子,他是老大,母亲是高中老师,父亲外出打工,从事过很多职业,因为卡尔加里有丰富的石油和天然气资源,因此他的父亲从事的职业多半与石油天然气有关,比如销售油田设备等等。可想而知,因为父亲东奔西走,家庭的重担多半是由他的母亲来承担,由于父亲的四处奔波,给高斯林留下了深刻的印象,高斯林本人曾说过,他不喜欢创业,一提到创业,就浑身难受。

和绝大多数天才儿童一样,高斯林年少时候就已经展露头脚,在高斯林12岁的时候,他已经可以给附近农场的邻居修理收割机,去电话公司后面的垃圾桶里找电子元件,然后用这些电子元件自己组装一台游戏机玩当时一种叫一字棋的游戏,并且凭借这台机器获得了当地的一个奖。运气很重要,高斯林的家离卡尔加里大学很近,虽然卡尔加里大学是个年轻的大学,但是他仍旧是加拿大排名靠前的大学,在卡尔加里大学,他第一次接触到计算机,对于一个聪明的孩子,一旦找到了自己热爱的东西,计算机就成了高斯林生活的全部。他记住了当时进入计算机中心的密码,每天都全身心的投入到计算机这个神奇的东西上,这个年仅12岁的孩子,已经在计算机编程方面表现出了惊人的天赋。

在15岁的时候,当时还是高中生的高斯林,已经从卡尔加里大学物理系获得了一份兼职的工作,编程来分析从卫星上传回来的数据。当时他用的电脑是一台PDP-8。(这里说几句题外话,PDP8这种电脑由DEC公司开发的一种迷你电脑,当时的迷你电脑也有一个冰箱那么大,大家如果对UNIX有所了解的话,有张著名的汤姆逊和里齐合影的照片,里面那台电脑就是PDP-7,跟冰箱差不多大小。)

由于要兼职写软件,高中时代的高斯林要经常逃课,为此学校的领导经常训斥他,不过他的科学老师和数学老师倒是很鼓励他这么做。后来他去卡尔加里大学读计算机科学专业,天才都是很有个性的,大学时代的高斯林也是经常逃课,凡是不喜欢的,他出勤率都不高,最后毕业的时候,计算机科学的系主任出面帮忙,才让高斯林顺利大学毕业。

高斯林大学毕业以后,申请了几所大学继续攻读研究生,这四所大学都是美国的大学,包括斯坦福大学,麻省理工学院,加州大学伯克利分校以及卡耐基梅隆大学,这四所学校里,只有卡耐基梅隆大学录取了他。他本科都差点毕不了业,申请研究生的时候GPA分数可能不够。但是高斯林运气很好,按照正常的录取程序,卡耐基梅隆大学也不会录取高斯林,他是在一次鸡尾酒会上被一位教授通知录取的。

卡耐基梅隆大学每年录取15名学生,这15名学生需要很知名的学校外加著名计算机教授的推荐。毕竟当时卡尔加里大学刚刚建校不久,名气并不大,所以按照正常的录取手续,基本上是不可能录取的。但是高斯林运气实在太好了,卡耐基梅隆大学每年会破例录取一名优秀学生,这个录取名额掌握在卡耐基梅隆大学系主任的手中,那一年,这名幸运的学生就是高斯林。用高斯林自己的话来说就是:中大奖了!

(再说点题外话,Java近年来受到了不少嘲笑,比如说Java繁琐,没有创新等等,潜台词是Java不应该这么流行,Java这么流行就是个错误,但是看看高斯林的运气,这个就能解释一切了,高斯林的运气就是一直这么好。)

被卡耐基梅隆大学录取以后,高斯林很快就成为了全校最优秀的程序员,他的水平已经远远超过了一年级研究生的水平。由于他技术最好,所以他还有个工作是负责将学校的系统升级为Unix。了解计算机历史的听众也许知道,Unix是贝尔实验的一个操作系统,功能很强大,当时贝尔实验室将Unix授权给很多大学使用,当时包括卡耐基梅隆大学,加州大学伯克利分校等很多学校都在使用Unix操作系统。由于都使用相同的操作系统,高斯林和后来太阳微系统公司的创始人比尔乔伊认识,并成为了好朋友。

当时卡耐基梅隆大学购买了数字设备公司生产的VAX计算机,当时该计算机上运行的是VMS操作系统,由于学校的很多项目都是运行在上一代计算机上,当时计算机科学系的教授拉吉瑞迪就询问高斯林,能否让旧软件运行在新的机器上。高斯林就找到了一个方法,这个方法是后来“Java虚拟机”的雏形,对每一种类型的计算机先编写一个虚拟机,然后让程序运行在虚拟机上,这样,这些软件就可以在不同的机器甚至不同的操作系统上运行了。

在卡耐基梅隆大学读研究生和博士期间,高斯林还完成了很多工作,比如他编写了以自己名字命名的Emacs文本编辑器,这个编辑器是第一款用C语言实现的Emacs编辑器,做了一个支持多CPU版本的Unix系统,写了自己的编译器以及电子邮件系统。

他博士毕业以后,拒绝了太阳微系统公司的邀请,加入了IBM公司。前面已经提过,高斯林的父亲有非常不成功的创业经历,导致他对创业不感冒,当时太阳微系统公司刚刚成立,虽然太阳微系统公司的创始人之一比尔乔伊是高斯林的朋友,后来的采访中,高斯林回忆说他几乎可以肯定 太阳微系统公司将在几个月内倒闭。

高斯林在IBM公司工作了一年,在这一年中,他目睹了IBM公司官僚主义对技术的压制,一年之后他便加入了太阳微系统公司。在太阳微系统公司中,他开启了一个极具创新的项目(网络可扩展窗口系统),该项目可以让网络上的任何一台计算机显示网络上其它计算机正在运行的程序。

Java项目最初起源于太阳微系统公司的危机意识。当时个人电脑蓬勃发展,太阳微系统公司虽然在工作站和服务器领域所向披靡,但是个人电脑已经被挤到了市场的角落。在1990年,公司一名叫帕特里克诺顿的程序员,当时只有25岁,在太阳微系统公司工作了三年,同时还在当时太阳微系统公司的CEO麦克利尼的冰球队打球,在一次冰球比赛的休息时间,他告诉史考特麦克里尼,他要加入乔布斯的新公司NeXT,这个公司的产品是工作站,由于乔布斯和苹果公司的是非恩怨,当时NeXT是硅谷首屈一指的大热门公司。这名叫诺顿的年轻程序员被当时太阳微系统公司的主席斯科特麦克尼利邀请写一份备忘录,希望他指出太阳微系统公司的危机。这名叫诺顿的小伙子也不谦虚,言辞尖锐的指出了公司的诸多弊病,让公司的员工认识到如果裹足不前,公司将会很快被时代所抛弃。这份意见长达十二页,里面列举了公司的很多缺点,第二天他就收到了公司高级管理人员的回应,其中高斯林的回应是:这太切中要害了,不知道从什么时候起,我们忘记了生产高质量产品的真谛。

在这种危机意识下,太阳微系统公司成立了一个小组,要创造出先进的技术,优秀的产品。该小组的成员包括高斯林以及诺顿,他在公司的诚恳请求下,留在了公司。该小组做了几个月的功课,觉得下一个大机会是消费电子产品,因为当时包括索尼,松下等公司都认为消费电子产品和计算机产品在不断的融合。为了保密,该小组成立的时候就从公司搬出去了,这个小组的工作都是保密的,甚至公司的其它员工想要来参观,都要先签署保密协议。该小组开始了一个项目,这个项目的名字叫Green,该项目的目标是为消费电子产品设计一款掌上管家。有了这个管家,可以控制电视机,摄像机以及音响来互联,有点类似于现在比较热门的物联网。在1991年8月23日的一份商业计划中,提到了这个技术,当时的名字不叫Java,还是叫Green ,该报告说Green能够使电话,游戏,手机等设备透明的交互操作。在这个报告中,有一段关于GreenTalk的描述,说这是一个“健壮的编程语言”,能够动态适应不同的机器,使软件运行在虚拟机上。多年以后,高斯林评价说“Java研发设计的大量工作都来自于那个商业计划”。

Java的想法也是慢慢形成的,在1990年项目刚开始的时候,高斯林并没有想到要创造一种新的编程语言。他回忆说:“它开始只是改进C++语言的代码。当时编写代码只是为了使掌上样机的项目成功。”随着项目的进展,高斯林才意识到开发一种新语言的必要性。他说:“要解决网络环境安全问题,新软件的设计是非常有必要的,”不是增加一些东西就可以彻底解决问题,而是要深入到最底层。1992年,高斯林用了一整年的时间来开发新语言,后来这种语言被他称为Oak语言。该语言的名称来源于办公室窗外的那棵橡树。1992年9月,该小组拿着研究成果,一台叫Star7的掌上样机,一个可以拿在手里,装着电池的小盒子,这个小盒子有显示屏,但是没有任何其它的按钮,用手触摸屏幕就可以使用,有点像现在的智能手机。打开以后能看到一个红鼻子的小人出现在屏幕上,这个小人可以带你到房子的每一个房间,只需要用手指在屏幕上操作就行,不需要其它的键盘或者鼠标。(Star7的演示视频如下)

当时太阳微系统公司的总裁麦克尼利欣喜若狂,觉得靠这个一定能赢得市场,为此专门成立了一个全资子公司First Person来营销这款产品。1992年2月,美国总统老布什发表的国情咨文中,提出了信息高速公路的概念,因此,传媒界,科技界,娱乐界都一直追捧信息高速公路的概念。当时认为电视,报纸,书籍,杂志等都将会通过屏幕展示出来,这掀起了一阵热潮。科技公司也相互竞争,希望能够为当时传媒业公司时代华纳提供机顶盒。First Person公司也致力于打动时代华纳公司,宣传太阳微系统公司是最好的机顶盒提供商,并使用Oak语言来处理所有的信息。最后,太阳微系统公司并没有获得订单,获得订单的是硅谷图形公司。

太阳微系统公司后来又谈了一些公司,包括三菱,法国电讯等等,大都是乘兴而来,败兴而归。1994年春天,First Person公司宣告破产,到1994年底的时候,Oak语言仍不能被市场所接受,公司计划取消Oak项目,并且将与此相关的程序员派往他处,此时的高斯林等人有意离开公司另寻他处。在这危机关头,公司的另一位高管出面干涉,高斯林回忆说“比尔乔伊在这件事上做了很多严肃的抗争,为了Oak这个项目的复活奔走呐喊。”这个让Java起死回生的故事留作下期再讲。